compositor: Move the logic of moving outputs into the core
Instead of having the backends move the remaining outputs when one is
destroyed, let the core compositor deal with that.
Signed-off-by: Zhang, Xiong Y <xiong.y.zhang@intel.com>
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index 9a36b59..2ef1b5d 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -918,24 +918,10 @@
static void
x11_compositor_delete_window(struct x11_compositor *c, xcb_window_t window)
{
- struct x11_output *deleted_output, *output, *next;
- int x_offset = 0;
+ struct x11_output *output;
- deleted_output = x11_compositor_find_output(c, window);
-
- wl_list_for_each_safe(output, next, &c->base.output_list, base.link) {
- if (x_offset != 0) {
- weston_output_move(&output->base,
- output->base.x - x_offset,
- output->base.y);
- weston_output_damage(&output->base);
- }
-
- if (output == deleted_output) {
- x_offset += output->base.width;
- x11_output_destroy(&output->base);
- }
- }
+ output = x11_compositor_find_output(c, window);
+ x11_output_destroy(&output->base);
xcb_flush(c->conn);