summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Koegel <eric.koegel@gmail.com>2017-06-22 17:07:41 +0300
committerEric Koegel <eric.koegel@gmail.com>2017-06-22 19:19:29 +0300
commitc8ca45ab96888d35ccb37d33a0c213d16f94fba4 (patch)
treeb0ebfedffd6465ba72ae96851e9506cec12baa63
parent40c43073b04bdf61d0dd69730731b093f621ee6f (diff)
downloadConsoleKit2-c8ca45ab96888d35ccb37d33a0c213d16f94fba4.tar.gz
fix: Place sessions with a VT on the static Seat1
This way they can be marked active.
-rw-r--r--src/ck-manager.c6
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);