From c9cfcc8a9aefd2122e80e3674c0da96ffe849a34 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Wed, 22 Jul 2009 12:31:39 -0500 Subject: Executing the helper, but it needs to be the one in the libexec path. --- src/Makefile.am | 2 +- src/session-service.c | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index cf18aaa..ab79f0f 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -59,7 +59,7 @@ indicator_users_service_LDADD = $(USERSSERVICE_LIBS) ################# indicator_session_service_SOURCES = session-service.c -indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS) +indicator_session_service_CFLAGS = $(SESSIONSERVICE_CFLAGS) -DLIBEXECDIR=\"$(libexecdir)\" indicator_session_service_LDADD = $(SESSIONSERVICE_LIBS) ############### diff --git a/src/session-service.c b/src/session-service.c index 55e60df..b301baf 100644 --- a/src/session-service.c +++ b/src/session-service.c @@ -15,7 +15,19 @@ static GMainLoop * mainloop = NULL; static void show_dialog (DbusmenuMenuitem * mi, gchar * type) { - g_debug("Showing dialog '%s'", type); + gchar * helper = g_build_path(LIBEXECDIR, "gtk-logout-helper", NULL); + gchar * dialog_line = g_strdup_printf("%s --%s", helper, type); + g_free(helper); + + g_debug("Showing dialog '%s'", dialog_line); + + GError * error = NULL; + if (!g_spawn_command_line_async(dialog_line, &error)) { + g_warning("Unable to show dialog: %s", error->message); + g_error_free(error); + } + + g_free(dialog_line); return; } -- cgit v1.2.3