diff options
Diffstat (limited to 'seatd/seat.c')
-rw-r--r-- | seatd/seat.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/seatd/seat.c b/seatd/seat.c index e6d9950..6358f7d 100644 --- a/seatd/seat.c +++ b/seatd/seat.c @@ -547,6 +547,13 @@ int seat_activate(struct seat *seat) { // If we're asked to do a simple VT switch, do that if (seat->next_vt > 0) { log_info("executing VT switch"); + if (seat->curttyfd != -1) { + terminal_set_process_switching(seat->curttyfd, false); + terminal_set_keyboard(seat->curttyfd, true); + terminal_set_graphics(seat->curttyfd, false); + close(seat->curttyfd); + seat->curttyfd = -1; + } terminal_switch_vt(ttyfd, seat->next_vt); seat->next_vt = 0; close(ttyfd); |