summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2015-09-17 11:40:59 +0800
committerJonas Ådahl <jadahl@gmail.com>2015-09-17 12:17:45 +0800
commitb7aca078447031ac85550216a3836b6d5e81576a (patch)
treee668397bd624a4f1f7be605630cdaa573c0d8896
parentdc780d2c4450385a2fba4df34be62e0bfc838c72 (diff)
downloadmutter-b7aca078447031ac85550216a3836b6d5e81576a.tar.gz
Revert "launcher: simplify getting session dbus proxy"
Signals are sent to a specific ID, so we can't use "self" here. After this revert, VT switching works again. This reverts commit 8e22bf5bc96a7d9ff1aba8ea8217a4c3ca06b4ce. https://bugzilla.gnome.org/show_bug.cgi?id=753434
-rw-r--r--src/backends/native/meta-launcher.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backends/native/meta-launcher.c b/src/backends/native/meta-launcher.c
index 6fc450509..618bd6857 100644
--- a/src/backends/native/meta-launcher.c
+++ b/src/backends/native/meta-launcher.c
@@ -71,17 +71,26 @@ report_error_and_die (const char *prefix,
static Login1Session *
get_session_proxy (GCancellable *cancellable)
{
+ char *proxy_path;
+ char *session_id;
Login1Session *session_proxy;
GError *error = NULL;
+ if (sd_pid_get_session (getpid (), &session_id) < 0)
+ return NULL;
+
+ proxy_path = get_escaped_dbus_path ("/org/freedesktop/login1/session", session_id);
+
session_proxy = login1_session_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START,
"org.freedesktop.login1",
- "/org/freedesktop/login1/session/self",
+ proxy_path,
cancellable, &error);
if (!session_proxy)
report_error_and_die ("Failed getting session proxy", error);
+ free (proxy_path);
+
return session_proxy;
}