seat: Add VT cleanup on switch to empty VT
VTs were being cleaned up the active client of a VT went away, or if we were acking a kernel VT switch request. However, no cleanup was done if the user had reqested a session switch to a different VT. Duplicate the VT cleanup to the VT switch condition.
This commit is contained in:
parent
250adee852
commit
98a4a4ff67
1 changed files with 7 additions and 0 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue