sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 22906f7fce550f57528df6b33049b9dc74f87abc
parent a996ee485d7e6d993e6636f3235b8c2a79d7cc33
Author: Mykyta Holubakha <hilobakho@gmail.com>
Date:   Tue, 17 Oct 2017 22:32:22 +0300

handlers: preserve parent pointer value

Diffstat:
Msway/handlers.c | 13+++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

diff --git 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?