summaryrefslogtreecommitdiff
path: root/gtk/gtkuimanager.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkuimanager.c')
-rw-r--r--gtk/gtkuimanager.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c
index 496d3c4ef..7803248f6 100644
--- a/gtk/gtkuimanager.c
+++ b/gtk/gtkuimanager.c
@@ -2110,9 +2110,12 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
- g_object_set (G_OBJECT (siblings->data),
- "visible", self->private_data->add_tearoffs && !in_popup,
- NULL);
+ {
+ if (self->private_data->add_tearoffs && !in_popup)
+ gtk_widget_show (GTK_WIDGET (siblings->data));
+ else
+ gtk_widget_hide (GTK_WIDGET (siblings->data));
+ }
g_list_free (siblings);
}
@@ -2207,9 +2210,12 @@ update_node (GtkUIManager *self,
menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy));
siblings = gtk_container_get_children (GTK_CONTAINER (menu));
if (siblings != NULL && GTK_IS_TEAROFF_MENU_ITEM (siblings->data))
- g_object_set (G_OBJECT (siblings->data),
- "visible", self->private_data->add_tearoffs && !in_popup,
- NULL);
+ {
+ if (self->private_data->add_tearoffs && !in_popup)
+ gtk_widget_show (GTK_WIDGET (siblings->data));
+ else
+ gtk_widget_hide (GTK_WIDGET (siblings->data));
+ }
g_list_free (siblings);
}
break;