diff --git a/ChangeLog b/ChangeLog index b88ac46f6d..1ff02668ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-11-11 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Remove two more places + where we were unconditionally setting "visible", causing + unnecessary notifications. + 2004-11-11 Matthias Clasen Considerably speed up GtkUIManager, by changing the semantics diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b88ac46f6d..1ff02668ad 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2004-11-11 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Remove two more places + where we were unconditionally setting "visible", causing + unnecessary notifications. + 2004-11-11 Matthias Clasen Considerably speed up GtkUIManager, by changing the semantics diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index b88ac46f6d..1ff02668ad 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +2004-11-11 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Remove two more places + where we were unconditionally setting "visible", causing + unnecessary notifications. + 2004-11-11 Matthias Clasen Considerably speed up GtkUIManager, by changing the semantics diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index b88ac46f6d..1ff02668ad 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2004-11-11 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Remove two more places + where we were unconditionally setting "visible", causing + unnecessary notifications. + 2004-11-11 Matthias Clasen Considerably speed up GtkUIManager, by changing the semantics diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c index b7e1914f0f..7803248f6f 100644 --- a/gtk/gtkuimanager.c +++ b/gtk/gtkuimanager.c @@ -31,6 +31,7 @@ #include #include +#include "gtkalias.h" #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtkmenu.h" @@ -2109,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); } @@ -2206,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;