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:
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?