diff options
author | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-08-30 14:56:28 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2010-08-30 14:56:28 +0900 |
commit | 54d44a9bd04cfbed8426614fc69c027a46f41a14 (patch) | |
tree | 34bdf65a6e8d5d6d4016154345d1d803ba0da379 /gtk/gtktoolbutton.c | |
parent | b3b22c31b997fb85b3319b392a1a69407703184c (diff) | |
parent | 67194ed77b153eb5a7eb6c596f3c20e274b7787a (diff) | |
download | gtk+-native-layout.tar.gz |
Merge branch 'master' into native-layoutnative-layout
Conflicts:
gtk/gtkplug.c
gtk/gtkscrolledwindow.c
Diffstat (limited to 'gtk/gtktoolbutton.c')
-rw-r--r-- | gtk/gtktoolbutton.c | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index d0c850331d..bf61d25121 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -323,6 +323,7 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) guint icon_spacing; GtkOrientation text_orientation = GTK_ORIENTATION_HORIZONTAL; GtkSizeGroup *size_group = NULL; + GtkWidget *parent; button->priv->contents_invalid = FALSE; @@ -330,16 +331,24 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) "icon-spacing", &icon_spacing, NULL); - if (button->priv->icon_widget && button->priv->icon_widget->parent) + if (button->priv->icon_widget) { - gtk_container_remove (GTK_CONTAINER (button->priv->icon_widget->parent), - button->priv->icon_widget); + parent = gtk_widget_get_parent (button->priv->icon_widget); + if (parent) + { + gtk_container_remove (GTK_CONTAINER (parent), + button->priv->icon_widget); + } } - if (button->priv->label_widget && button->priv->label_widget->parent) + if (button->priv->label_widget) { - gtk_container_remove (GTK_CONTAINER (button->priv->label_widget->parent), - button->priv->label_widget); + parent = gtk_widget_get_parent (button->priv->label_widget); + if (parent) + { + gtk_container_remove (GTK_CONTAINER (parent), + button->priv->label_widget); + } } child = gtk_bin_get_child (GTK_BIN (button->priv->button)); @@ -1193,9 +1202,12 @@ gtk_tool_button_set_icon_widget (GtkToolButton *button, { if (button->priv->icon_widget) { - if (button->priv->icon_widget->parent) - gtk_container_remove (GTK_CONTAINER (button->priv->icon_widget->parent), - button->priv->icon_widget); + GtkWidget *parent; + + parent = gtk_widget_get_parent (button->priv->icon_widget); + if (parent) + gtk_container_remove (GTK_CONTAINER (parent), + button->priv->icon_widget); g_object_unref (button->priv->icon_widget); } @@ -1234,10 +1246,13 @@ gtk_tool_button_set_label_widget (GtkToolButton *button, { if (button->priv->label_widget) { - if (button->priv->label_widget->parent) - gtk_container_remove (GTK_CONTAINER (button->priv->label_widget->parent), - button->priv->label_widget); - + GtkWidget *parent; + + parent = gtk_widget_get_parent (button->priv->label_widget); + if (parent) + gtk_container_remove (GTK_CONTAINER (parent), + button->priv->label_widget); + g_object_unref (button->priv->label_widget); } |