From 90475c24cbe8fb95ec4c0b01e7dbba247c47ea15 Mon Sep 17 00:00:00 2001 From: project-repo Date: Fri, 1 Jan 2021 14:42:50 +0100 Subject: [PATCH] Fix view_unmap --- view.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/view.c b/view.c index d938526..0b51904 100644 --- a/view.c +++ b/view.c @@ -291,21 +291,25 @@ view_unmap(struct cg_view *view) { { struct cg_tile *view_tile = view_get_tile(view); if(view_tile != NULL) { - struct cg_view *prev = view_get_prev_view(view); wlr_output_damage_add_box(view_tile->workspace->output->damage, &view_tile->tile); - if(view == view->server->seat->focused_view) { - seat_set_focus(view->server->seat, prev); - } else if(view->server->seat->seat->keyboard_state - .focused_surface == view->wlr_surface) { - wlr_seat_keyboard_clear_focus(view->server->seat->seat); - seat_set_focus(view->server->seat, - view->server->seat->focused_view); - } else { - view_tile->view = prev; - if(prev != NULL) { - view_maximize(prev, &view_tile->tile); - } + } + struct cg_view *prev = view_get_prev_view(view); + if(view == view->server->seat->focused_view) { + seat_set_focus(view->server->seat, prev); + } else if(view->server->seat->seat->keyboard_state + .focused_surface == view->wlr_surface) { + wlr_seat_keyboard_clear_focus(view->server->seat->seat); + seat_set_focus(view->server->seat, + view->server->seat->focused_view); + } + view_tile = view_get_tile(view); + if(view_tile != NULL) { + wlr_output_damage_add_box(view_tile->workspace->output->damage, + &view_tile->tile); + view_tile->view = prev; + if(prev != NULL) { + view_maximize(prev, &view_tile->tile); } } }