ayatana-commits team mailing list archive
-
ayatana-commits team
-
Mailing list archive
-
Message #01807
[Merge] lp:~bratsche/appmenu-gtk/deeper-reparenting into lp:appmenu-gtk
Cody Russell has proposed merging lp:~bratsche/appmenu-gtk/deeper-reparenting into lp:appmenu-gtk.
Requested reviews:
Canonical Desktop Experience Team (canonical-dx-team)
Related bugs:
#601094 There are no menus for baobab
https://bugs.launchpad.net/bugs/601094
--
https://code.launchpad.net/~bratsche/appmenu-gtk/deeper-reparenting/+merge/29094
Your team ayatana-commits is subscribed to branch lp:appmenu-gtk.
=== modified file 'src/bridge.c'
--- src/bridge.c 2010-07-02 05:11:54 +0000
+++ src/bridge.c 2010-07-02 15:09:29 +0000
@@ -640,7 +640,7 @@
recurse->context);
}
- // g_print ("%d: %s %s\n", recurse->count, G_OBJECT_TYPE_NAME (widget), get_menu_label_text (widget));
+ // g_print ("%d: %s %s\n", recurse->count, G_OBJECT_TYPE_NAME (widget), get_menu_label_text (widget));
if (GTK_IS_TEAROFF_MENU_ITEM (widget))
{
@@ -856,7 +856,23 @@
GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
AppMenuBridge *bridge = APP_MENU_BRIDGE (proxy);
- rebuild (bridge, toplevel);
+ if (gtk_widget_get_parent (widget) == NULL)
+ return;
+
+ if (GTK_IS_WINDOW (toplevel))
+ {
+ g_signal_handlers_disconnect_by_func (widget,
+ G_CALLBACK (toplevel_notify_cb),
+ proxy);
+ rebuild (bridge, toplevel);
+ }
+ else
+ {
+ g_signal_connect (G_OBJECT (toplevel),
+ "notify",
+ G_CALLBACK (toplevel_notify_cb),
+ proxy);
+ }
}
}
Follow ups