diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-04-18 21:10:32 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-04-18 21:10:32 -0400 |
commit | a7cad7909261094b46de548033983bf2fd3f7619 (patch) | |
tree | 6d8ba30e72361482abd13465cedd6dc395b423aa /gtk/gtkcssdimensionvalue.c | |
parent | ef8e8ba14d3f316dbade504b7481b38085bfabc0 (diff) | |
download | gtk+-a7cad7909261094b46de548033983bf2fd3f7619.tar.gz |
css: Allow transitioning between different units again
This turns out to be necessary for transitioning filters,
and we run into criticals if transitioning numbers
unexpectedly returns NULL. I've observed that with
* {
filter: invert(80%);
}
This was broken in c9e972eecb3a78ea.
Diffstat (limited to 'gtk/gtkcssdimensionvalue.c')
-rw-r--r-- | gtk/gtkcssdimensionvalue.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gtk/gtkcssdimensionvalue.c b/gtk/gtkcssdimensionvalue.c index 7c918d6da1..10effe22d7 100644 --- a/gtk/gtkcssdimensionvalue.c +++ b/gtk/gtkcssdimensionvalue.c @@ -248,10 +248,10 @@ gtk_css_value_dimension_transition (GtkCssValue *start, guint property_id, double progress) { - if (start->unit != end->unit) - return NULL; + if (start->unit == end->unit) + return gtk_css_dimension_value_new (start->value + (end->value - start->value) * progress, start->unit); - return gtk_css_dimension_value_new (start->value + (end->value - start->value) * progress, start->unit); + return gtk_css_number_value_transition (start, end, property_id, progress); } static const GtkCssNumberValueClass GTK_CSS_VALUE_DIMENSION = { |