aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/server.c
diff options
context:
space:
mode:
authorEvgeni Golov <evgeni@debian.org>2010-07-14 10:19:53 +0200
committerEvgeni Golov <evgeni@debian.org>2010-07-14 10:19:53 +0200
commit44e511fb4f72420180baf757179efe3d483a91ca (patch)
tree32ebdba980ad21a3227526365e8ae61b64b5daaa /libdbusmenu-glib/server.c
parent2404f2f70b5c1a110383b15694e5784cd2d6013c (diff)
parent674342c670052bcfcc92b7638de9af482ae2a856 (diff)
downloadlibdbusmenu-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.c15
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) {