fixed floating window crashing bug

master
taiyu 9 years ago
parent a246e9b4c7
commit af1b3d9755

@ -168,7 +168,6 @@ static bool handle_view_created(wlc_handle handle) {
static void handle_view_destroyed(wlc_handle handle) { static void handle_view_destroyed(wlc_handle handle) {
sway_log(L_DEBUG, "Destroying window %lu", handle); sway_log(L_DEBUG, "Destroying window %lu", handle);
swayc_t *view = get_swayc_for_handle(handle, &root_container); swayc_t *view = get_swayc_for_handle(handle, &root_container);
swayc_t *focused = get_focused_container(&root_container);
switch (wlc_view_get_type(handle)) { switch (wlc_view_get_type(handle)) {
//regular view created regularly //regular view created regularly

@ -226,7 +226,8 @@ void arrange_windows(swayc_t *container, int width, int height) {
// will be kept up to date so that more recently focused views // will be kept up to date so that more recently focused views
// have higher indexes // have higher indexes
// This is conditional on there not being a fullscreen view in the workspace // This is conditional on there not being a fullscreen view in the workspace
if (!(wlc_view_get_state(container->focused->handle) & WLC_BIT_FULLSCREEN)) { if (!container->focused
|| !(wlc_view_get_state(container->focused->handle) & WLC_BIT_FULLSCREEN)) {
wlc_view_bring_to_front(view->handle); wlc_view_bring_to_front(view->handle);
} }
} }

Loading…
Cancel
Save