compositor: Damage after setting surface width and height
diff --git a/compositor/compositor.c b/compositor/compositor.c
index 4cd5009..255dd5f 100644
--- a/compositor/compositor.c
+++ b/compositor/compositor.c
@@ -856,12 +856,6 @@
 {
 	struct wlsc_surface *es = (struct wlsc_surface *) surface;
 
-	/* FIXME: This damages the entire old surface, but we should
-	 * really just damage the part that's no longer covered by the
-	 * surface.  Anything covered by the new surface will be
-	 * damaged by the client. */
-	wlsc_surface_damage(es);
-
 	es->x += x;
 	es->y += y;
 	es->width = buffer->width;
@@ -873,6 +867,12 @@
 
 	wlsc_buffer_attach(buffer, surface);
 
+	/* FIXME: This damages the entire old surface, but we should
+	 * really just damage the part that's no longer covered by the
+	 * surface.  Anything covered by the new surface will be
+	 * damaged by the client. */
+	wlsc_surface_damage(es);
+
 	es->compositor->shell->attach(es->compositor->shell, es);
 }