[gtk+] icon helper: suppress style_changed when transient



commit ac65952f0db0211e0debc760c0fafc9521c02356
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Dec 18 20:53:02 2015 -0500

    icon helper: suppress style_changed when transient
    
    Transient nodes should not propagate style-changed signals
    that can cause widgets to get reallocated. This was causing
    treeviews and iconviews with pixbuf cells to be constantly
    resized and redrawn.

 gtk/gtkiconhelper.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index cd31bc6..6ad6e72 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -148,7 +148,8 @@ gtk_icon_helper_style_changed (GtkCssGadget      *gadget,
   if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_ICON))
     gtk_icon_helper_invalidate (GTK_ICON_HELPER (gadget));
 
-  GTK_CSS_GADGET_CLASS (gtk_icon_helper_parent_class)->style_changed (gadget, change);
+  if (!GTK_IS_CSS_TRANSIENT_NODE (gtk_css_gadget_get_node (gadget)))
+    GTK_CSS_GADGET_CLASS (gtk_icon_helper_parent_class)->style_changed (gadget, change);
 }
 
 static void


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