aboutsummaryrefslogtreecommitdiff
path: root/seatd/seat.c
diff options
context:
space:
mode:
Diffstat (limited to 'seatd/seat.c')
-rw-r--r--seatd/seat.c7
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);