aboutsummaryrefslogtreecommitdiff
path: root/libdbusmenu-glib/server.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-07-08 10:21:20 -0500
committerTed Gould <ted@gould.cx>2010-07-08 10:21:20 -0500
commit493c2563ce462abc3b1c6c6d3d637a03b801534e (patch)
treea2d8c6bc457d74e7eb28967dc635c7565df4ba04 /libdbusmenu-glib/server.c
parent62cb7aa30100b477359c7ddbe2318deed1bb9b1a (diff)
parent0828cb88a4db832ddfcf0350305bebf116c1a240 (diff)
downloadlibdbusmenu-493c2563ce462abc3b1c6c6d3d637a03b801534e.tar.gz
libdbusmenu-493c2563ce462abc3b1c6c6d3d637a03b801534e.tar.bz2
libdbusmenu-493c2563ce462abc3b1c6c6d3d637a03b801534e.zip
New upstream release.
∘ Protect against NULL nodes (LP: #602444) ∘ Remove extra warnings and messages ∘ Handle not having a session bus better (LP: #598715)
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) {