diff options
author | Drew DeVault <sir@cmpwn.com> | 2016-10-08 09:45:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-08 09:45:21 -0400 |
commit | 8d277bc962bab2817c9271d60839f49972599f5b (patch) | |
tree | c1d1b86c88225271de2fb185e9809f114028a3a7 /sway/handlers.c | |
parent | 0fc03f9c13a349f5cbe32813e2f7b4cdf37e98ba (diff) | |
parent | 8264fedce60743f93efc988ef282fa2a160faf5a (diff) |
Merge pull request #942 from thejan2009/bugfix-931
fix for_window [] move scratchpad
Diffstat (limited to 'sway/handlers.c')
-rw-r--r-- | sway/handlers.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sway/handlers.c b/sway/handlers.c index f37473aa..2235bc8b 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -376,6 +376,7 @@ static bool handle_view_created(wlc_handle handle) { if (newview) { ipc_event_window(newview, "new"); set_focused_container(newview); + wlc_view_set_mask(handle, VISIBLE); swayc_t *output = swayc_parent_by_type(newview, C_OUTPUT); arrange_windows(output, -1, -1); // check if it matches for_window in config and execute if so @@ -401,8 +402,9 @@ static bool handle_view_created(wlc_handle handle) { // if parent container is a workspace, newview its only child and // layout is tabbed/stacked, add a container around newview swayc_t *parent_container = newview->parent; - if (parent_container->type == C_WORKSPACE && parent_container->children->length == 1 && - (parent_container->layout == L_TABBED || parent_container->layout == L_STACKED)) { + if (parent_container && parent_container->type == C_WORKSPACE && + parent_container->children && parent_container->children->length == 1 && + (parent_container->layout == L_TABBED || parent_container->layout == L_STACKED)) { swayc_t *container = new_container(newview, parent_container->layout); set_focused_container(newview); arrange_windows(container, -1, -1); @@ -413,8 +415,8 @@ static bool handle_view_created(wlc_handle handle) { *h = handle; sway_log(L_DEBUG, "Adding unmanaged window %p to %p", h, output->unmanaged); list_add(output->unmanaged, h); + wlc_view_set_mask(handle, VISIBLE); } - wlc_view_set_mask(handle, VISIBLE); if (return_to_workspace && current_ws != swayc_active_workspace()) { // we were on one workspace, switched to another to add this view, |