← Back to team overview

ayatana-commits team mailing list archive

[Branch ~dbusmenu-team/dbusmenu/trunk] Rev 127: Handle not having a session bus better.

 

Merge authors:
  Ted Gould (ted)
Related merge proposals:
  https://code.launchpad.net/~ted/dbusmenu/handle-no-bus/+merge/29087
  proposed by: Ted Gould (ted)
  review: Approve - Cody Russell (bratsche)
------------------------------------------------------------
revno: 127 [merge]
committer: Ted Gould <ted@xxxxxxxx>
branch nick: trunk
timestamp: Fri 2010-07-02 09:49:19 -0500
message:
  Handle not having a session bus better.
modified:
  libdbusmenu-glib/server.c


--
lp:dbusmenu
https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk

Your team ayatana-commits is subscribed to branch lp:dbusmenu.
To unsubscribe from this branch go to https://code.launchpad.net/~dbusmenu-team/dbusmenu/trunk/+edit-subscription
=== modified file 'libdbusmenu-glib/server.c'
--- libdbusmenu-glib/server.c	2010-05-27 14:44:35 +0000
+++ libdbusmenu-glib/server.c	2010-07-02 13:47:23 +0000
@@ -225,15 +225,22 @@
 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) {