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);