X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkcsstransition.c;h=08db4285fc9638b1b1b6ad89f4d04ec0840316b9;hb=feb64f40b0f50735104da0a7fdafbe480763c180;hp=bbd2dccae315a0248c81e76d0f5e15104bce32f5;hpb=9138fc11cfc8c1bcf247e0c3f4c931b741e929b7;p=~andy%2Fgtk diff --git a/gtk/gtkcsstransition.c b/gtk/gtkcsstransition.c index bbd2dccae..08db4285f 100644 --- a/gtk/gtkcsstransition.c +++ b/gtk/gtkcsstransition.c @@ -38,9 +38,7 @@ gtk_css_transition_set_values (GtkStyleAnimation *animation, if (transition->start_time >= for_time_us) value = _gtk_css_value_ref (transition->start); - else if (transition->end_time <= for_time_us) - value = _gtk_css_value_ref (end); - else + else if (transition->end_time > for_time_us) { progress = (double) (for_time_us - transition->start_time) / (transition->end_time - transition->start_time); progress = _gtk_css_ease_value_transform (transition->ease, progress); @@ -52,9 +50,14 @@ gtk_css_transition_set_values (GtkStyleAnimation *animation, if (value == NULL) value = _gtk_css_value_ref (end); } + else + value = NULL; - _gtk_css_computed_values_set_animated_value (values, transition->property, value); - _gtk_css_value_unref (value); + if (value) + { + _gtk_css_computed_values_set_animated_value (values, transition->property, value); + _gtk_css_value_unref (value); + } } static gboolean