[gtk+/gtk-3-20] cssbgsizevalue: Avoid allocating new value if not needed



commit 758e10ad41a300e6343f4cbc2c9da39f1373f7aa
Author: Benjamin Otte <otte redhat com>
Date:   Thu Apr 21 22:28:14 2016 +0200

    cssbgsizevalue: Avoid allocating new value if not needed

 gtk/gtkcssbgsizevalue.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcssbgsizevalue.c b/gtk/gtkcssbgsizevalue.c
index b5da067..3e25ded 100644
--- a/gtk/gtkcssbgsizevalue.c
+++ b/gtk/gtkcssbgsizevalue.c
@@ -60,6 +60,16 @@ gtk_css_value_bg_size_compute (GtkCssValue             *value,
   if (value->y)
     y = _gtk_css_value_compute (value->y, property_id, provider, style, parent_style);
 
+  if (x == value->x && y == value->y)
+    {
+      if (x)
+        _gtk_css_value_unref (x);
+      if (y)
+        _gtk_css_value_unref (y);
+
+      return _gtk_css_value_ref (value);
+    }
+
   return _gtk_css_bg_size_value_new (value->x ? x : NULL,
                                      value->y ? y : NULL);
 }


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