[gtk+/wip/baedert/symbolic-icons: 7/9] iconhelper: Don't invalidate unnecessarily



commit 1eab6461c4c2343848b5c281f744e953edd7c567
Author: Timm Bäder <mail baedert org>
Date:   Fri Feb 5 09:51:59 2016 +0100

    iconhelper: Don't invalidate unnecessarily

 gtk/gtkiconhelper.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index 9005d4a..b159fea 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -146,7 +146,10 @@ static void
 gtk_icon_helper_style_changed (GtkCssGadget      *gadget,
                                GtkCssStyleChange *change)
 {
-  if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_ICON))
+  GtkIconHelperPrivate *priv = GTK_ICON_HELPER (gadget)->priv;
+
+  if ((gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_ICON) && !priv->surface_is_symbolic) ||
+      (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_SYMBOLIC_ICON) && priv->surface_is_symbolic))
     gtk_icon_helper_invalidate (GTK_ICON_HELPER (gadget));
 
   if (!GTK_IS_CSS_TRANSIENT_NODE (gtk_css_gadget_get_node (gadget)))


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