aboutsummaryrefslogtreecommitdiff
path: root/src/session-service.c
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-07-22 12:31:39 -0500
committerTed Gould <ted@canonical.com>2009-07-22 12:31:39 -0500
commitc9cfcc8a9aefd2122e80e3674c0da96ffe849a34 (patch)
treef78d25254d733f3452d7ab25fa5b29f15e005426 /src/session-service.c
parente43d5e49b26a96f1b3f3d16e1a42b3466862d6b1 (diff)
downloadayatana-indicator-session-c9cfcc8a9aefd2122e80e3674c0da96ffe849a34.tar.gz
ayatana-indicator-session-c9cfcc8a9aefd2122e80e3674c0da96ffe849a34.tar.bz2
ayatana-indicator-session-c9cfcc8a9aefd2122e80e3674c0da96ffe849a34.zip
Executing the helper, but it needs to be the one in the libexec path.
Diffstat (limited to 'src/session-service.c')
-rw-r--r--src/session-service.c14
1 files changed, 13 insertions, 1 deletions
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;
}