aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2020-02-17 17:12:04 -0500
committerFurkan Sahin <furkan-dev@proton.me>2020-02-17 17:12:04 -0500
commit800b0530733caadb1f038f539ba253e6988d414c (patch)
treee26db6421f82a8b9100215030dc17135645bdd3b
parent9ac6add6f2912b50ce5c005099eac3e58f54290f (diff)
tree/view: do not attempt enter on hidden child
If a subsurface is created for a surface that is associated with a scratchpad hidden view, do not attempt to send an enter to it. The subsurface is not on any output and since there is no workspace associated with the view, attempting to get the output for the NULL workspace will result in a SIGSEGV.
-rw-r--r--sway/tree/view.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index fc88cff9..04ff4b57 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -896,8 +896,10 @@ void view_child_init(struct sway_view_child *child,
wl_signal_add(&view->events.unmap, &child->view_unmap);
child->view_unmap.notify = view_child_handle_view_unmap;
- struct sway_output *output = child->view->container->workspace->output;
- wlr_surface_send_enter(child->surface, output->wlr_output);
+ struct sway_workspace *workspace = child->view->container->workspace;
+ if (workspace) {
+ wlr_surface_send_enter(child->surface, workspace->output->wlr_output);
+ }
view_init_subsurfaces(child->view, surface);
}