aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/client.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-08 16:02:59 -0600
committerTed Gould <ted@gould.cx>2010-02-08 16:02:59 -0600
commit8ce974aba34f84c9dc77f988dff4821c6494ff91 (patch)
treec6f807c41cfe33ad5c7fbec47f66229f72ba4d93 /libdbusmenu-glib/client.c
parent8f6dbb970e761517fb32760e81a4759c2aeb307c (diff)
parent254fbd01f1ea9b2be163cd33e62b140186e0a856 (diff)
downloadlibdbusmenu-8ce974aba34f84c9dc77f988dff4821c6494ff91.tar.gz
libdbusmenu-8ce974aba34f84c9dc77f988dff4821c6494ff91.tar.bz2
libdbusmenu-8ce974aba34f84c9dc77f988dff4821c6494ff91.zip
* Upstream Merge
* Removing debug messages
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r--libdbusmenu-glib/client.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 64fc7d3..5d7b5b1 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -430,11 +430,9 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata)
DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(userdata);
if (priv->root != NULL) {
- g_debug("Root ref count: %d", ((GObject *)priv->root)->ref_count);
g_object_unref(G_OBJECT(priv->root));
- g_debug(" ref count: %d", ((GObject *)priv->root)->ref_count);
priv->root = NULL;
- #if 1
+ #ifdef MASSIVEDEBUGGING
g_debug("Proxies destroyed, signaling a root change and a layout update.");
#endif
g_signal_emit(G_OBJECT(userdata), signals[ROOT_CHANGED], 0, NULL, TRUE);
@@ -776,12 +774,15 @@ parse_layout (DbusmenuClient * client, const gchar * layout)
g_debug("Client signaling root changed.");
#endif
- g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE);
- }
+ /* If they are different, and there was an old root we must
+ clean up that old root */
+ if (oldroot != NULL) {
+ dbusmenu_menuitem_set_root(oldroot, FALSE);
+ g_object_unref(oldroot);
+ }
- if (oldroot != NULL) {
- dbusmenu_menuitem_set_root(oldroot, FALSE);
- g_object_unref(oldroot);
+ /* If the root changed we can signal that */
+ g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE);
}
return 1;