[PATCH weston 10/11] Reset pending surface delta x and y on commit
Daniel Stone
daniel at fooishbar.org
Tue Nov 6 22:51:44 PST 2012
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 <daniel at fooishbar.org>
---
src/compositor.c | 2 ++
1 file changed, 2 insertions(+)
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,
--
1.7.10.4
More information about the wayland-devel
mailing list