[gtk+] css: Don't start transitions when the value didn't change



commit a3ba7f0a201ad9025a926aacb4229865ea724b01
Author: Benjamin Otte <otte redhat com>
Date:   Thu Feb 18 23:55:00 2016 +0100

    css: Don't start transitions when the value didn't change
    
    This stops us from starting a lot of useless transitions. And it's even
    conformant with the CSS spec!

 gtk/gtkcssanimatedstyle.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcssanimatedstyle.c b/gtk/gtkcssanimatedstyle.c
index d13403a..2c92fa7 100644
--- a/gtk/gtkcssanimatedstyle.c
+++ b/gtk/gtkcssanimatedstyle.c
@@ -294,6 +294,10 @@ gtk_css_animated_style_create_css_transitions (GSList              *animations,
             }
         }
 
+      if (_gtk_css_value_equal (gtk_css_style_get_value (source, i),
+                                gtk_css_style_get_value (base_style, i)))
+        continue;
+
       animation = _gtk_css_transition_new (i,
                                            gtk_css_style_get_value (source, i),
                                            _gtk_css_array_value_get_nth (timing_functions, i),


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