diff options
author | Eric Koegel <eric.koegel@gmail.com> | 2017-06-22 17:07:41 +0300 |
---|---|---|
committer | Eric Koegel <eric.koegel@gmail.com> | 2017-06-22 19:19:29 +0300 |
commit | c8ca45ab96888d35ccb37d33a0c213d16f94fba4 (patch) | |
tree | b0ebfedffd6465ba72ae96851e9506cec12baa63 /src/ck-manager.c | |
parent | 40c43073b04bdf61d0dd69730731b093f621ee6f (diff) | |
download | ConsoleKit2-c8ca45ab96888d35ccb37d33a0c213d16f94fba4.tar.gz |
fix: Place sessions with a VT on the static Seat1
This way they can be marked active.
Diffstat (limited to 'src/ck-manager.c')
-rw-r--r-- | src/ck-manager.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ck-manager.c b/src/ck-manager.c index 4ee4d2e..3472342 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -2627,6 +2627,7 @@ find_seat_for_session (CkManager *manager, const char *x11_display_device; const char *x11_display; const char *remote_host_name; + guint vtnr; gboolean is_local; is_static_text = FALSE; @@ -2646,8 +2647,11 @@ find_seat_for_session (CkManager *manager, x11_display_device = console_kit_session_get_x11_display_device (cksession); x11_display = console_kit_session_get_x11_display (cksession); remote_host_name = console_kit_session_get_remote_host_name (cksession); + vtnr = console_kit_session_get_vtnr (cksession); ck_session_is_local (session, &is_local, NULL); + g_debug ("find_seat_for_session vtnr returned: %d", vtnr); + if (IS_STR_SET (x11_display) && IS_STR_SET (x11_display_device) && ! IS_STR_SET (remote_host_name) @@ -2661,7 +2665,7 @@ find_seat_for_session (CkManager *manager, is_static_text = TRUE; } - if (is_static_x11 || is_static_text) { + if ((is_static_x11 || is_static_text) && vtnr > 0) { char *sid; sid = g_strdup_printf ("%s/Seat%u", CK_DBUS_PATH, 1); seat = g_hash_table_lookup (manager->priv->seats, sid); |