[gtk/fix-css-filter-transitions] css: Allow transitioning between different units again



commit a7cad7909261094b46de548033983bf2fd3f7619
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Apr 18 21:10:32 2020 -0400

    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.

 gtk/gtkcssdimensionvalue.c | 6 +++---
 1 file 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 = {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]