diff --git a/ChangeLog b/ChangeLog index d66dafa695..67d3d14405 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-10-08 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Also update smart separators + if the visibility of a menuitem with a submenu changes. (#153791, + Christian Persch) + 2004-10-08 Matthias Clasen * gtk/gtkentry.h: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index d66dafa695..67d3d14405 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2004-10-08 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Also update smart separators + if the visibility of a menuitem with a submenu changes. (#153791, + Christian Persch) + 2004-10-08 Matthias Clasen * gtk/gtkentry.h: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index d66dafa695..67d3d14405 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +2004-10-08 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Also update smart separators + if the visibility of a menuitem with a submenu changes. (#153791, + Christian Persch) + 2004-10-08 Matthias Clasen * gtk/gtkentry.h: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index d66dafa695..67d3d14405 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +2004-10-08 Matthias Clasen + + * gtk/gtkuimanager.c (update_node): Also update smart separators + if the visibility of a menuitem with a submenu changes. (#153791, + Christian Persch) + 2004-10-08 Matthias Clasen * gtk/gtkentry.h: diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c index a42ce5e26f..ddaa38a8fe 100644 --- a/gtk/gtkuimanager.c +++ b/gtk/gtkuimanager.c @@ -2196,6 +2196,8 @@ update_node (GtkUIManager *self, gtk_menu_shell_append (GTK_MENU_SHELL (menu), filler); gtk_menu_item_set_submenu (GTK_MENU_ITEM (info->proxy), menu); gtk_menu_shell_insert (GTK_MENU_SHELL (menushell), info->proxy, pos); + g_signal_connect (info->proxy, "notify::visible", + G_CALLBACK (update_smart_separators), 0); } } else @@ -2517,7 +2519,7 @@ update_node (GtkUIManager *self, { if (info->type == NODE_TYPE_MENU) update_smart_separators (gtk_menu_item_get_submenu (GTK_MENU_ITEM (info->proxy))); - else if (info->type == NODE_TYPE_TOOLBAR) + else if (info->type == NODE_TYPE_TOOLBAR || info->type == NODE_TYPE_POPUP) update_smart_separators (info->proxy); }