aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/menuitem.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-04-16 11:43:06 -0500
committerTed Gould <ted@gould.cx>2010-04-16 11:43:06 -0500
commitf8cf97fa209b64c4f466cda3c33bbec068a4539c (patch)
tree86eba93c4644b05ad856413119002f6d6d6baddf /libdbusmenu-glib/menuitem.c
parente606dae698cb9a4e15fdc260c68744cbee7c3c82 (diff)
downloadlibdbusmenu-f8cf97fa209b64c4f466cda3c33bbec068a4539c.tar.gz
libdbusmenu-f8cf97fa209b64c4f466cda3c33bbec068a4539c.tar.bz2
libdbusmenu-f8cf97fa209b64c4f466cda3c33bbec068a4539c.zip
Make sure to send the signal *before* unrefing so the object exists
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r--libdbusmenu-glib/menuitem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libdbusmenu-glib/menuitem.c b/libdbusmenu-glib/menuitem.c
index 220f7e5..6a3c4bc 100644
--- a/libdbusmenu-glib/menuitem.c
+++ b/libdbusmenu-glib/menuitem.c
@@ -491,8 +491,8 @@ take_children_signal (gpointer data, gpointer user_data)
#ifdef MASSIVEDEBUGGING
g_debug("Menuitem %d (%s) signalling child removed %d (%s)", ID(user_data), LABEL(user_data), ID(data), LABEL(data));
#endif
- g_object_unref(G_OBJECT(data));
g_signal_emit(G_OBJECT(user_data), signals[CHILD_REMOVED], 0, DBUSMENU_MENUITEM(data), TRUE);
+ g_object_unref(G_OBJECT(data));
return;
}
@@ -681,8 +681,8 @@ dbusmenu_menuitem_child_delete (DbusmenuMenuitem * mi, DbusmenuMenuitem * child)
#ifdef MASSIVEDEBUGGING
g_debug("Menuitem %d (%s) signalling child removed %d (%s)", ID(mi), LABEL(mi), ID(child), LABEL(child));
#endif
- g_object_unref(G_OBJECT(child));
g_signal_emit(G_OBJECT(mi), signals[CHILD_REMOVED], 0, child, TRUE);
+ g_object_unref(G_OBJECT(child));
return TRUE;
}