diff options
author | Ted Gould <ted@gould.cx> | 2010-04-17 12:55:06 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-04-17 12:55:06 -0500 |
commit | 0e080376045eef6517f758375b2d8c8d285f9dbd (patch) | |
tree | 1a550ce4bdeed0c847771ed8e327dd3dc03b7897 /libdbusmenu-glib/menuitem.c | |
parent | 1f94e35230f8a5e4dbd365d485a8f8bf8070d787 (diff) | |
parent | ec56a70aaf7f1649e731af0457f46a9b97979a53 (diff) | |
download | libdbusmenu-0e080376045eef6517f758375b2d8c8d285f9dbd.tar.gz libdbusmenu-0e080376045eef6517f758375b2d8c8d285f9dbd.tar.bz2 libdbusmenu-0e080376045eef6517f758375b2d8c8d285f9dbd.zip |
* Upstream Merge
* Only unref root if the root has changed.
* Ensure that callbacks retain references to objects incase
they get deleted quickly.
* Protecting references before signalling
* Decrementing refs when added to child menus
Diffstat (limited to 'libdbusmenu-glib/menuitem.c')
-rw-r--r-- | libdbusmenu-glib/menuitem.c | 4 |
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; } |