diff options
author | Ted Gould <ted@gould.cx> | 2011-01-20 08:37:39 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-01-20 08:37:39 -0600 |
commit | f7c1698c897ee3866d033075fbe391fd4e498234 (patch) | |
tree | d79708b44f1cf8d8cd7dc1c20aa91dd4dcba7f17 /libdbusmenu-glib/client.c | |
parent | e1589a7281b3afdaabcc36375843020150b32b57 (diff) | |
parent | 3354af7e467e14415756fc3e640b5c027af5ebde (diff) | |
download | libdbusmenu-f7c1698c897ee3866d033075fbe391fd4e498234.tar.gz libdbusmenu-f7c1698c897ee3866d033075fbe391fd4e498234.tar.bz2 libdbusmenu-f7c1698c897ee3866d033075fbe391fd4e498234.zip |
* New upstream release.
* Fixing scanner export
* Increasing scanner warnings
* Signalling to DBus when object is registered
* Handling errors in GVariant better than crashing
Diffstat (limited to 'libdbusmenu-glib/client.c')
-rw-r--r-- | libdbusmenu-glib/client.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/libdbusmenu-glib/client.c b/libdbusmenu-glib/client.c index 58d6360..29ed4a0 100644 --- a/libdbusmenu-glib/client.c +++ b/libdbusmenu-glib/client.c @@ -1538,6 +1538,14 @@ parse_layout (DbusmenuClient * client, const gchar * layout) static void update_layout_cb (GObject * proxy, GAsyncResult * res, gpointer data) { + DbusmenuClient * client = DBUSMENU_CLIENT(data); + DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); + + if (priv->layoutcall != NULL) { + g_object_unref(priv->layoutcall); + priv->layoutcall = NULL; + } + GError * error = NULL; GVariant * params = NULL; @@ -1554,9 +1562,6 @@ update_layout_cb (GObject * proxy, GAsyncResult * res, gpointer data) g_variant_get(params, "(us)", &rev, &xml); g_variant_unref(params); - DbusmenuClient * client = DBUSMENU_CLIENT(data); - DbusmenuClientPrivate * priv = DBUSMENU_CLIENT_GET_PRIVATE(client); - guint parseable = parse_layout(client, xml); g_free(xml); @@ -1567,10 +1572,6 @@ update_layout_cb (GObject * proxy, GAsyncResult * res, gpointer data) priv->my_revision = rev; /* g_debug("Root is now: 0x%X", (unsigned int)priv->root); */ - if (priv->layoutcall != NULL) { - g_object_unref(priv->layoutcall); - priv->layoutcall = NULL; - } #ifdef MASSIVEDEBUGGING g_debug("Client signaling layout has changed."); #endif |