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
This commit is contained in:
Matthias Clasen 2013-08-28 11:51:19 -04:00
parent 3c2c3ab6f9
commit 13f92834f7

View File

@ -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",