summaryrefslogtreecommitdiff
path: root/daemon/gdm-manager.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2016-08-01 11:25:47 -0400
committerRay Strode <rstrode@redhat.com>2017-03-03 15:28:50 -0500
commit5395600e428ce93d6c54fe95404c631fbe3b3538 (patch)
tree0416a5404e0fd2e79c7cfab794b16c26b0d7ace8 /daemon/gdm-manager.c
parent0f9f574626b61b78ba27a7ba61dabbbf0e38415d (diff)
downloadgdm-5395600e428ce93d6c54fe95404c631fbe3b3538.tar.gz
manager: don't try to activate session if session not on seat
If a session is not associated with a seat (because it's remote), then we shouldn't try to activate the session. Activating sessions, really only means anything on seat0 (where it means to change the active VT). This prevents premature failure before unlock on XDMCP. https://bugzilla.gnome.org/show_bug.cgi?id=779500
Diffstat (limited to 'daemon/gdm-manager.c')
-rw-r--r--daemon/gdm-manager.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index 0cd5a918..35a7a0fe 100644
--- a/daemon/gdm-manager.c
+++ b/daemon/gdm-manager.c
@@ -618,10 +618,12 @@ switch_to_compatible_user_session (GdmManager *manager,
if (existing_session != NULL) {
ssid_to_activate = gdm_session_get_session_id (existing_session);
- res = activate_session_id (manager, seat_id, ssid_to_activate);
- if (! res) {
- g_debug ("GdmManager: unable to activate session: %s", ssid_to_activate);
- goto out;
+ if (seat_id != NULL) {
+ res = activate_session_id (manager, seat_id, ssid_to_activate);
+ if (! res) {
+ g_debug ("GdmManager: unable to activate session: %s", ssid_to_activate);
+ goto out;
+ }
}
res = session_unlock (manager, ssid_to_activate);