summaryrefslogtreecommitdiff
path: root/desktop-shell
diff options
context:
space:
mode:
authorXiong Zhang <xiong.y.zhang@intel.com>2014-03-07 16:27:19 +0800
committerKristian Høgsberg <krh@bitplanet.net>2014-04-30 10:59:30 -0700
commit62899f512482241cbadf472840a2a2f38c907378 (patch)
tree52982277b0e43ec9b76ed5e755aa810b833c6bda /desktop-shell
parent9a14b8f4fa771368fc756bd1e49308dcf21ddd07 (diff)
shell.c: Set dirty for visible views on destroyed output
The geometry for visible views will keep unchanged, weston_view_set_position() doesn't mark these views as dirty. So there is no chance for them to reassign output, then these views will disappear. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=72946 Signed-off-by: Xiong Zhang <xiong.y.zhang@intel.com>
Diffstat (limited to 'desktop-shell')
-rw-r--r--desktop-shell/shell.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
index 7e4ceed9..bb714366 100644
--- a/desktop-shell/shell.c
+++ b/desktop-shell/shell.c
@@ -5810,9 +5810,12 @@ shell_reposition_view_on_output_destroy(struct weston_view *view)
x = first_output->x + first_output->width / 4;
y = first_output->y + first_output->height / 4;
+
+ weston_view_set_position(view, x, y);
+ } else {
+ weston_view_geometry_dirty(view);
}
- weston_view_set_position(view, x, y);
shsurf = get_shell_surface(view->surface);