summaryrefslogtreecommitdiffstats
path: root/sway/tree/view.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-05-01 17:18:20 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-05-01 17:18:20 +1000
commit91f97fc21a0da6022b221d1273e147e647ce5980 (patch)
tree063cd3e299a7cf6f2aeca70c9019a26d642c558f /sway/tree/view.c
parentMerge pull request #1873 from RyanDwyer/remove-arrange-windows (diff)
downloadsway-91f97fc21a0da6022b221d1273e147e647ce5980.tar.gz
sway-91f97fc21a0da6022b221d1273e147e647ce5980.tar.zst
sway-91f97fc21a0da6022b221d1273e147e647ce5980.zip
Fix segfault in view_unmap()
If the last remaining view on a workspace is unmapped and the workspace is not visible, parent will be a C_OUTPUT. Call the arrange_output() function in this case.
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r--sway/tree/view.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index e0aa6c0c..519c3c78 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -302,7 +302,11 @@ void view_unmap(struct sway_view *view) {
302 view->swayc = NULL; 302 view->swayc = NULL;
303 view->surface = NULL; 303 view->surface = NULL;
304 304
305 arrange_children_of(parent); 305 if (parent->type == C_OUTPUT) {
306 arrange_output(parent);
307 } else {
308 arrange_children_of(parent);
309 }
306} 310}
307 311
308void view_update_position(struct sway_view *view, double ox, double oy) { 312void view_update_position(struct sway_view *view, double ox, double oy) {