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) { if (w == yg->focused_window) {
/* find the top z-ordered window */ /* find the top z-ordered window */
yg->focused_window = NULL; yg->focused_window = NULL;
list_t * zorder_owner = window_zorder_owner(yg, w->z); if (yg->menu_zs->tail && yg->menu_zs->tail->value) {
if (zorder_owner && zorder_owner != yg->overlay_zs) { set_focused_window(yg, yg->menu_zs->tail->value);
if (zorder_owner->tail && zorder_owner->tail->value) { } else if (yg->mid_zs->tail && yg->mid_zs->tail->value) {
set_focused_window(yg, zorder_owner->tail->value); set_focused_window(yg, yg->mid_zs->tail->value);
}
} }
} }