diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2015-09-17 11:40:59 +0800 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2015-09-17 12:17:45 +0800 |
commit | b7aca078447031ac85550216a3836b6d5e81576a (patch) | |
tree | e668397bd624a4f1f7be605630cdaa573c0d8896 | |
parent | dc780d2c4450385a2fba4df34be62e0bfc838c72 (diff) | |
download | mutter-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.c | 11 |
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; } |