From: David Herrmann Date: Tue, 8 Jul 2014 10:56:55 +0000 (+0200) Subject: logind: allow switching to unused VTs via SwitchTo() X-Git-Tag: v216~703 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=154034270c4643b7cfe61c0be1676d78bb1b7b07 logind: allow switching to unused VTs via SwitchTo() If compositors use the new SwitchTo() logic to map F1-F12, we should allow them to switch to unregistered VTs, too. Otherwise, the auto-spawn logic of gettys won't trigger. Reported-by: Jasper St. Pierre Signed-off-by: David Herrmann --- diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 3114de84d..999219515 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -275,8 +275,13 @@ int seat_switch_to(Seat *s, unsigned int num) { if (!num) return -EINVAL; - if (num >= s->position_count || !s->positions[num]) + if (num >= s->position_count || !s->positions[num]) { + /* allow switching to unused VTs to trigger auto-activate */ + if (seat_has_vts(s) && num < 64) + return chvt(num); + return -EINVAL; + } return session_activate(s->positions[num]); }