compositor: correctly set next focused window when a window closes

This commit is contained in:
K. Lange 2021-11-05 22:07:55 +09:00
parent 49a80ce0e5
commit 6f24bf5b34
1 changed files with 4 additions and 5 deletions

View File

@ -1239,11 +1239,10 @@ static void window_actually_close(yutani_globals_t * yg, yutani_server_window_t
if (w == yg->focused_window) {
/* find the top z-ordered window */
yg->focused_window = NULL;
list_t * zorder_owner = window_zorder_owner(yg, w->z);
if (zorder_owner && zorder_owner != yg->overlay_zs) {
if (zorder_owner->tail && zorder_owner->tail->value) {
set_focused_window(yg, zorder_owner->tail->value);
}
if (yg->menu_zs->tail && yg->menu_zs->tail->value) {
set_focused_window(yg, yg->menu_zs->tail->value);
} else if (yg->mid_zs->tail && yg->mid_zs->tail->value) {
set_focused_window(yg, yg->mid_zs->tail->value);
}
}