From: Daniel Stone Date: Wed, 7 Nov 2012 06:51:44 +0000 (+1100) Subject: Reset pending surface delta x and y on commit X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b4f4a5980f3514a25a199769ae971ac1ac484664;p=profile%2Fivi%2Fweston-ivi-shell.git Reset pending surface delta x and y on commit The following sequence: wl_surface::attach(s, b, 1, 2) wl_surface::commit(s) wl_surface::commit(s) would actually result in the surface getting moved by (2,4) as the pending attach delta wasn't reset on commit, only by another attach. This only shows up on single-buffered surfaces. Signed-off-by: Daniel Stone --- diff --git a/src/compositor.c b/src/compositor.c index d5b13c8..855203a 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1258,6 +1258,8 @@ surface_commit(struct wl_client *client, struct wl_resource *resource) if (surface->buffer && surface->configure) surface->configure(surface, surface->pending.sx, surface->pending.sy); + surface->pending.sx = 0; + surface->pending.sy = 0; /* wl_surface.damage */ pixman_region32_init_rect(&opaque, 0, 0,