diff options
author | 2018-04-17 11:06:03 +1000 | |
---|---|---|
committer | 2018-04-17 11:06:03 +1000 | |
commit | cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4 (patch) | |
tree | b79d6f26e8d1ef1c9874873969251757eaffeac3 /sway | |
parent | Handle fullscreen flag when mapping a surface. (diff) | |
download | sway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.tar.gz sway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.tar.zst sway-cc4da245a8e4a746ebd379ca8dd6cc3b33ded8e4.zip |
Fix views unmapping their own fullscreen windows.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/tree/view.c | 10 |
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 | ||
106 | void view_close(struct sway_view *view) { | 106 | void 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); |