From cf43670529a7498d0f40c1e4e25e32734234de18 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Tue, 17 Oct 2017 16:56:06 -0400 Subject: [PATCH] Merge pull request #1412 from Hummer12007/rcfix handlers: preserve parent pointer value --- sway/handlers.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/sway/handlers.c b/sway/handlers.c index 6ccf2b11a..33e75d6b0 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -552,7 +552,7 @@ static void handle_view_destroyed(wlc_handle handle) { if (view) { bool fullscreen = swayc_is_fullscreen(view); remove_view_from_scratchpad(view); - swayc_t *parent = destroy_view(view); + swayc_t *parent = destroy_view(view), *iter = NULL; if (parent) { ipc_event_window(parent, "close"); @@ -566,17 +566,18 @@ static void handle_view_destroyed(wlc_handle handle) { } if (fullscreen) { - while (parent) { - if (parent->fullscreen) { - parent->fullscreen = NULL; + iter = parent; + while (iter) { + if (iter->fullscreen) { + iter->fullscreen = NULL; break; } - parent = parent->parent; + iter = iter->parent; } } - arrange_windows(parent, -1, -1); + arrange_windows(iter ? iter : parent, -1, -1); } } else { // Is it unmanaged?