diff options
author | Ted Gould <ted@gould.cx> | 2010-03-31 11:11:14 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2010-03-31 11:11:14 -0500 |
commit | 0562cfa3c0b28d277101d5742de21d7f0ee96d57 (patch) | |
tree | 2cdc99591e2e714d42578f7f6563be818bc7ab44 | |
parent | cc7a0c520d9a3871a3fd844d6c895ecc6f3260bb (diff) | |
parent | 287a76bcd84df72cf8104c16c67224d2f4eb4374 (diff) | |
download | libdbusmenu-0562cfa3c0b28d277101d5742de21d7f0ee96d57.tar.gz libdbusmenu-0562cfa3c0b28d277101d5742de21d7f0ee96d57.tar.bz2 libdbusmenu-0562cfa3c0b28d277101d5742de21d7f0ee96d57.zip |
* Upstream merge
* Unrefing on layout updates (LP: #545026)
* Resetting sync versions on disconnection
* Removing useless warning
-rw-r--r-- | debian/changelog | 9 | ||||
-rw-r--r-- | libdbusmenu-glib/client.c | 16 |
2 files changed, 23 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 3979ac0..142d224 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +libdbusmenu (0.2.8-0ubuntu2~ppa1) UNRELEASED; urgency=low + + * Upstream merge + * Unrefing on layout updates (LP: #545026) + * Resetting sync versions on disconnection + * Removing useless warning + + -- Ted Gould <ted@ubuntu.com> Wed, 31 Mar 2010 11:07:55 -0500 + libdbusmenu (0.2.8-0ubuntu1~ppa1) lucid; urgency=low * Upstream release 0.2.8 diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 309a11c..fb2a2bc 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -337,7 +337,12 @@ id_prop_update (DBusGProxy * proxy, gint id, gchar * property, GValue * value, D g_return_if_fail(priv->root != NULL); DbusmenuMenuitem * menuitem = dbusmenu_menuitem_find_id(priv->root, id); - g_return_if_fail(menuitem != NULL); + if (menuitem == NULL) { + #ifdef MASSIVEDEBUGGING + g_debug("Property update '%s' on id %d which couldn't be found", property, id); + #endif + return; + } dbusmenu_menuitem_property_set_value(menuitem, property, value); @@ -444,6 +449,9 @@ proxy_destroyed (GObject * gobj_proxy, gpointer userdata) priv->layoutcall = NULL; } + priv->current_revision = 0; + priv->my_revision = 0; + build_dbus_proxy(DBUSMENU_CLIENT(userdata)); return; } @@ -794,13 +802,17 @@ parse_layout (DbusmenuClient * client, const gchar * layout) 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); } + /* We need to unref it in this function no matter */ + if (oldroot != NULL) { + g_object_unref(oldroot); + } + return 1; } |