sway

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

commit 7fbb8b785e229341171470228fea22caac3ee896
parent f787fac8fc1ecc8245ccba848627fbca5a5b63a5
Author: taiyu <taiyu.len@gmail.com>
Date:   Sun, 30 Aug 2015 16:28:21 -0700

#154 destroy view handler properly destroys views

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

diff --git a/sway/handlers.c b/sway/handlers.c @@ -230,16 +230,12 @@ static void handle_view_destroyed(wlc_handle handle) { sway_log(L_DEBUG, "Destroying window %lu", handle); swayc_t *view = swayc_by_handle(handle); + // destroy views by type switch (wlc_view_get_type(handle)) { // regular view created regularly case 0: case WLC_BIT_MODAL: case WLC_BIT_POPUP: - if (view) { - swayc_t *parent = destroy_view(view); - remove_view_from_scratchpad(view); - arrange_windows(parent, -1, -1); - } break; // DMENU has this flag, and takes view_focus, but other things with this // flag dont @@ -251,6 +247,11 @@ static void handle_view_destroyed(wlc_handle handle) { break; } + if (view) { + swayc_t *parent = destroy_view(view); + remove_view_from_scratchpad(view); + arrange_windows(parent, -1, -1); + } set_focused_container(get_focused_view(&root_container)); }