diff options
author | Ted Gould <ted@canonical.com> | 2009-05-27 12:39:18 +0200 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-05-27 12:39:18 +0200 |
commit | d585baaa4ae70e6603e6bacc7d2e4d8acbb914fe (patch) | |
tree | 1f2c60a7c694deb2567dcc7338471cc1eeb14e3c | |
parent | d2bd9a0a70bbcb73997561baa7a61ddbe7e4780a (diff) | |
download | ayatana-indicator-messages-d585baaa4ae70e6603e6bacc7d2e4d8acbb914fe.tar.gz ayatana-indicator-messages-d585baaa4ae70e6603e6bacc7d2e4d8acbb914fe.tar.bz2 ayatana-indicator-messages-d585baaa4ae70e6603e6bacc7d2e4d8acbb914fe.zip |
Starting the service if it isn't there
-rw-r--r-- | src/indicator-messages.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/indicator-messages.c b/src/indicator-messages.c index da80e4b..bccffe7 100644 --- a/src/indicator-messages.c +++ b/src/indicator-messages.c @@ -23,6 +23,8 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include <string.h> #include <gtk/gtk.h> #include <libdbusmenu-gtk/menu.h> +#include <dbus/dbus-glib.h> +#include <dbus/dbus-glib-bindings.h> #include <libindicator/indicator.h> INDICATOR_SET_VERSION @@ -57,6 +59,14 @@ get_icon (void) GtkMenu * get_menu (void) { + guint returnval = 0; + GError * error = NULL; + + 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); + return GTK_MENU(dbusmenu_gtkmenu_new(INDICATOR_MESSAGES_DBUS_NAME, INDICATOR_MESSAGES_DBUS_OBJECT)); } |