aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-04-17 11:06:03 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-04-17 11:06:03 +1000
commitcc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4 (patch)
treeb79d6f26e8d1ef1c9874873969251757eaffeac3
parentHandle fullscreen flag when mapping a surface. (diff)
downloadsway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.tar.gz
sway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.tar.zst
sway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.zip
Fix views unmapping their own fullscreen windows.
-rw-r--r--sway/tree/view.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index e7a267ec..fa27ec36 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -104,11 +104,6 @@ void view_set_fullscreen(struct sway_view *view, bool fullscreen) {
104} 104}
105 105
106void view_close(struct sway_view *view) { 106void view_close(struct sway_view *view) {
107 if (view->is_fullscreen) {
108 struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE);
109 ws->sway_workspace->fullscreen = NULL;
110 }
111
112 if (view->impl->close) { 107 if (view->impl->close) {
113 view->impl->close(view); 108 view->impl->close(view);
114 } 109 }
@@ -232,6 +227,11 @@ void view_unmap(struct sway_view *view) {
232 227
233 wl_signal_emit(&view->events.unmap, view); 228 wl_signal_emit(&view->events.unmap, view);
234 229
230 if (view->is_fullscreen) {
231 struct sway_container *ws = container_parent(view->swayc, C_WORKSPACE);
232 ws->sway_workspace->fullscreen = NULL;
233 }
234
235 view_damage(view, true); 235 view_damage(view, true);
236 236
237 wl_list_remove(&view->surface_new_subsurface.link); 237 wl_list_remove(&view->surface_new_subsurface.link);