diff options
author | Ted Gould <ted@gould.cx> | 2010-02-09 08:49:53 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-02-09 08:49:53 -0600 |
commit | b2842d4f8a12207a9b89c2adc1e5be5294cb9ac2 (patch) | |
tree | 66df17ab45ed025b706788468c0ec17e6f8b0fa5 /libdbusmenu-glib/client.c | |
parent | e8ac2fcb6cd946e90e873970976f6ae64354947c (diff) | |
parent | 5844f55951a17d5223c69ae456592eed34e207d9 (diff) | |
download | libdbusmenu-b2842d4f8a12207a9b89c2adc1e5be5294cb9ac2.tar.gz libdbusmenu-b2842d4f8a12207a9b89c2adc1e5be5294cb9ac2.tar.bz2 libdbusmenu-b2842d4f8a12207a9b89c2adc1e5be5294cb9ac2.zip |
* Upstream Merge
* Removing the ref to root and a setting of root
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r-- | libdbusmenu-glib/client.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 2302110..5d7b5b1 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -774,15 +774,14 @@ parse_layout (DbusmenuClient * client, const gchar * layout) g_debug("Client signaling root changed."); #endif - /* Switch the root around */ - g_object_ref(priv->root); - dbusmenu_menuitem_set_root(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 the root changed we can signal that */ g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE); } |