diff -u gnome-panel-2.13.4/debian/changelog gnome-panel-2.13.4/debian/changelog --- gnome-panel-2.13.4/debian/changelog +++ gnome-panel-2.13.4/debian/changelog @@ -1,3 +1,13 @@ +gnome-panel (2.13.4-0ubuntu3) dapper; urgency=low + + * debian/patches/debian/patches/13_application_menu_gamin.patch, + For some reason handle_gmenu_tree_changed() is getting notified + everytime the menu is shown, immediately culling the contents of the + menu and then only scheduling an update, moved the culling to the + place where the repopulation happens. + + -- Paul Sladen Tue, 10 Jan 2006 25:20:36 +0200 + gnome-panel (2.13.4-0ubuntu2) dapper; urgency=low * debian/panel-default-setup-laptop.entries, only in patch2: unchanged: --- gnome-panel-2.13.4.orig/debian/patches/13_application_menu_gamin.patch +++ gnome-panel-2.13.4/debian/patches/13_application_menu_gamin.patch @@ -0,0 +1,28 @@ +--- gnome-panel-2.13.4.orig/gnome-panel/menu.c ++++ gnome-panel-2.13.4/gnome-panel/menu.c +@@ -1313,6 +1313,10 @@ + + g_object_set_data (G_OBJECT (menu), "panel-menu-needs-loading", NULL); + ++ /* Paul Sladen: moved from handle_gmenu_tree_changed... */ ++ while (GTK_MENU_SHELL (menu)->children) ++ gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data); ++ + directory = g_object_get_data (G_OBJECT (menu), + "panel-menu-tree-directory"); + if (!directory) { +@@ -1571,12 +1575,11 @@ + gmenu_tree_item_unref (aliased_item); + } + ++/* Paul Sladen: I really don't think this should be called while it's being displayed! */ ++ + static void + handle_gmenu_tree_changed (GMenuTree *tree, + GtkWidget *menu) + { +- while (GTK_MENU_SHELL (menu)->children) +- gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data); +- + g_object_set_data_full (G_OBJECT (menu), + "panel-menu-tree-directory",