[gtk+] GtkStyleContext: allow late set_path() calls.



commit fdcda4b356ea6d90482648dd45630de606f1411c
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Apr 11 19:46:57 2010 +0200

    GtkStyleContext: allow late set_path() calls.
    
    Now the properties will only be regenerated whenever there's a GtkWidgetPath
    to query about.

 gtk/gtkstylecontext.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index cb6bab6..9bf51e1 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -196,7 +196,8 @@ gtk_style_context_add_provider (GtkStyleContext  *context,
   if (!added)
     priv->providers = g_list_append (priv->providers, new_data);
 
-  rebuild_properties (context);
+  if (priv->widget_path)
+    rebuild_properties (context);
 }
 
 void
@@ -233,7 +234,7 @@ gtk_style_context_remove_provider (GtkStyleContext  *context,
       list = list->next;
     }
 
-  if (removed)
+  if (removed && priv->widget_path)
     rebuild_properties (context);
 }
 
@@ -358,7 +359,10 @@ gtk_style_context_set_path (GtkStyleContext *context,
     }
 
   if (path)
-    priv->widget_path = gtk_widget_path_copy (path);
+    {
+      priv->widget_path = gtk_widget_path_copy (path);
+      rebuild_properties (context);
+    }
 }
 
 G_CONST_RETURN GtkWidgetPath *



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