diff options
author | Evgeni Golov <evgeni@debian.org> | 2010-07-14 10:19:53 +0200 |
---|---|---|
committer | Evgeni Golov <evgeni@debian.org> | 2010-07-14 10:19:53 +0200 |
commit | 44e511fb4f72420180baf757179efe3d483a91ca (patch) | |
tree | 32ebdba980ad21a3227526365e8ae61b64b5daaa /libdbusmenu-glib/server.c | |
parent | 2404f2f70b5c1a110383b15694e5784cd2d6013c (diff) | |
parent | 674342c670052bcfcc92b7638de9af482ae2a856 (diff) | |
download | libdbusmenu-44e511fb4f72420180baf757179efe3d483a91ca.tar.gz libdbusmenu-44e511fb4f72420180baf757179efe3d483a91ca.tar.bz2 libdbusmenu-44e511fb4f72420180baf757179efe3d483a91ca.zip |
Merge new upstreams and changes from Ubuntu.
* New upstream release.
∘ Protect against NULL nodes (LP: #602444)
∘ Remove extra warnings and messages
∘ Handle not having a session bus better (LP: #598715)
* New upstream release.
* Block building submenus on separators (LP: #598620)
* Adding more through JSON support for testing
* Fixing up value handling in dbusmenu-dumper
* debian/control, debian/libdbusmenu-jsonloader*install: Adding
two binary packages for the jsonloader test library.
Diffstat (limited to 'libdbusmenu-glib/server.c')
-rw-r--r-- | libdbusmenu-glib/server.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libdbusmenu-glib/server.c b/libdbusmenu-glib/server.c index 0da66cc..13c2843 100644 --- a/libdbusmenu-glib/server.c +++ b/libdbusmenu-glib/server.c @@ -225,15 +225,22 @@ static void set_property (GObject * obj, guint id, const GValue * value, GParamSpec * pspec) { DbusmenuServerPrivate * priv = DBUSMENU_SERVER_GET_PRIVATE(obj); + GError * error = NULL; switch (id) { case PROP_DBUS_OBJECT: g_return_if_fail(priv->dbusobject == NULL); priv->dbusobject = g_value_dup_string(value); - DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL); - dbus_g_connection_register_g_object(connection, - priv->dbusobject, - obj); + DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, &error); + + if (connection == NULL || error != NULL) { + g_warning("Unable to get session bus: %s", error == NULL ? "No message" : error->message); + if (error != NULL) { g_error_free(error); } + } else { + dbus_g_connection_register_g_object(connection, + priv->dbusobject, + obj); + } break; case PROP_ROOT_NODE: if (priv->root != NULL) { |