[gtk+] Fix a regression in GtkAssistant child property handling



commit 13f92834f7b6d985a0737d8886c034f1002125c7
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Aug 28 11:51:19 2013 -0400

    Fix a regression in GtkAssistant child property handling
    
    GtkAssistant is bending the rules about child properties
    of non-direct children, and the recent fix to accomodate
    GtkInfoBar changes broke things. The effect was that child
    properties of assistant pages in ui files were just not
    applied, so all pages ended up without titles and with
    the normal page type, leading to broken assistants all
    over the place.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=706756

 gtk/gtkcontainer.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c
index b118346..84dcd84 100644
--- a/gtk/gtkcontainer.c
+++ b/gtk/gtkcontainer.c
@@ -582,16 +582,16 @@ gtk_container_buildable_set_child_property (GtkContainer *container,
   GValue gvalue = G_VALUE_INIT;
   GError *error = NULL;
 
-  if (gtk_widget_get_parent (child) != (GtkWidget *)container)
+  if (gtk_widget_get_parent (child) != (GtkWidget *)container && !GTK_IS_ASSISTANT (container))
     {
-      /* This can happen with internal children of complex
-       * widgets. Silently ignore the child properties in this case.
+      /* This can happen with internal children of complex widgets.
+       * Silently ignore the child properties in this case. We explicitly
+       * allow it for GtkAssistant, since that is how it works.
        */
       return;
     }
 
-  pspec = gtk_container_class_find_child_property
-    (G_OBJECT_GET_CLASS (container), name);
+  pspec = gtk_container_class_find_child_property (G_OBJECT_GET_CLASS (container), name);
   if (!pspec)
     {
       g_warning ("%s does not have a property called %s",


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