aboutsummaryrefslogtreecommitdiff
path: root/src/indicator-messages.c
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-05-28 10:20:23 -0500
committerTed Gould <ted@canonical.com>2009-05-28 10:20:23 -0500
commit5dd6b6286dd3299403d742f9cfd867f6b0aefba5 (patch)
treee97305db0d143af15e9c5b8ca82198066f3db684 /src/indicator-messages.c
parent0ea6c2853010c71fb66ea6ec0cf9d9540db50c09 (diff)
downloadayatana-indicator-messages-5dd6b6286dd3299403d742f9cfd867f6b0aefba5.tar.gz
ayatana-indicator-messages-5dd6b6286dd3299403d742f9cfd867f6b0aefba5.tar.bz2
ayatana-indicator-messages-5dd6b6286dd3299403d742f9cfd867f6b0aefba5.zip
Putting a little more error handling code in.
Diffstat (limited to 'src/indicator-messages.c')
-rw-r--r--src/indicator-messages.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/indicator-messages.c b/src/indicator-messages.c
index bccffe7..efb52b2 100644
--- a/src/indicator-messages.c
+++ b/src/indicator-messages.c
@@ -65,7 +65,16 @@ get_menu (void)
DBusGConnection * connection = dbus_g_bus_get(DBUS_BUS_SESSION, NULL);
DBusGProxy * proxy = dbus_g_proxy_new_for_name(connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS);
- org_freedesktop_DBus_start_service_by_name (proxy, INDICATOR_MESSAGES_DBUS_NAME, 0, &returnval, &error);
+ if (!org_freedesktop_DBus_start_service_by_name (proxy, INDICATOR_MESSAGES_DBUS_NAME, 0, &returnval, &error)) {
+ g_error("Unable to send message to DBus to start service: %s", error != NULL ? error->message : "(NULL error)" );
+ g_error_free(error);
+ return NULL;
+ }
+
+ if (returnval != DBUS_START_REPLY_SUCCESS && returnval != DBUS_START_REPLY_ALREADY_RUNNING) {
+ g_error("Return value isn't indicative of success: %d", returnval);
+ return NULL;
+ }
return GTK_MENU(dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT));
}