aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-02-08 12:21:59 -0600
committerTed Gould <ted@gould.cx>2010-02-08 12:21:59 -0600
commit030d6a4f5a48fcac6333cc4159fc343141339a15 (patch)
treeaad639f47bb21bf8a1a9a074392c04b55f3e0258
parentd948fb32f9beb6f8c716c7cf20ee72d820705b23 (diff)
downloadlibdbusmenu-030d6a4f5a48fcac6333cc4159fc343141339a15.tar.gz
libdbusmenu-030d6a4f5a48fcac6333cc4159fc343141339a15.tar.bz2
libdbusmenu-030d6a4f5a48fcac6333cc4159fc343141339a15.zip
We need to reduce the ref count on the old root even if there wasn't a change.
-rw-r--r--libdbusmenu-glib/client.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c
index 2302110..1c1574c 100644
--- a/libdbusmenu-glib/client.c
+++ b/libdbusmenu-glib/client.c
@@ -778,14 +778,14 @@ parse_layout (DbusmenuClient * client, const gchar * layout)
g_object_ref(priv->root);
dbusmenu_menuitem_set_root(priv->root, TRUE);
- if (oldroot != NULL) {
- dbusmenu_menuitem_set_root(oldroot, FALSE);
- g_object_unref(oldroot);
- }
-
g_signal_emit(G_OBJECT(client), signals[ROOT_CHANGED], 0, priv->root, TRUE);
}
+ if (oldroot != NULL) {
+ dbusmenu_menuitem_set_root(oldroot, FALSE);
+ g_object_unref(oldroot);
+ }
+
return 1;
}