aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-gtk/menu.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-01-31 10:01:59 -0600
committerTed Gould <ted@gould.cx>2011-01-31 10:01:59 -0600
commitdb2d419d34f98cf8067bc97cda27b8687ce1be6c (patch)
tree0aff2b2fdda7569d4b360f3ea36b802f855fb142 /libdbusmenu-gtk/menu.c
parent6a6a292ffadadf9f5389fe0c8507ef047daffce1 (diff)
downloadlibdbusmenu-db2d419d34f98cf8067bc97cda27b8687ce1be6c.tar.gz
libdbusmenu-db2d419d34f98cf8067bc97cda27b8687ce1be6c.tar.bz2
libdbusmenu-db2d419d34f98cf8067bc97cda27b8687ce1be6c.zip
Disconnect realized handler when we don't care about the item anymore.
Diffstat (limited to 'libdbusmenu-gtk/menu.c')
-rw-r--r--libdbusmenu-gtk/menu.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libdbusmenu-gtk/menu.c b/libdbusmenu-gtk/menu.c
index 9c4f7f8..5231d0f 100644
--- a/libdbusmenu-gtk/menu.c
+++ b/libdbusmenu-gtk/menu.c
@@ -271,6 +271,10 @@ root_child_delete (DbusmenuMenuitem * root, DbusmenuMenuitem * child, DbusmenuGt
#ifdef MASSIVEDEBUGGING
g_debug("Root child deleted");
#endif
+
+ /* Remove signal for realized */
+ g_signal_handlers_disconnect_by_func(G_OBJECT(child), child_realized, menu);
+
DbusmenuGtkMenuPrivate * priv = DBUSMENU_GTKMENU_GET_PRIVATE(menu);
GtkWidget * item = GTK_WIDGET(dbusmenu_gtkclient_menuitem_get(priv->client, child));
if (item != NULL) {