Rounding both corners of the rectangle down can result in a 0
width/height rectangle before passing to weston_transformed_rect.

This showed up as missing damage in weston-simple-damage (the
bouncing ball would leave green trails when --use-viewport was
used)

Reviewed-by: Daniel Stone <[email protected]>
Reviewed-by: Pekka Paalanen <[email protected]>
Signed-off-by: Derek Foreman <[email protected]>
---
Changes from v1 - just moved the doc bits to another patch so they
don't hold up the bug fix.

 src/compositor.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/compositor.c b/src/compositor.c
index 4895bd6..0118b67 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -945,8 +945,8 @@ weston_surface_to_buffer_rect(struct weston_surface 
*surface,
        rect.y1 = floorf(yf);
 
        scaler_surface_to_buffer(surface, rect.x2, rect.y2, &xf, &yf);
-       rect.x2 = floorf(xf);
-       rect.y2 = floorf(yf);
+       rect.x2 = ceilf(xf);
+       rect.y2 = ceilf(yf);
 
        return weston_transformed_rect(surface->width_from_buffer,
                                       surface->height_from_buffer,
-- 
2.6.2

_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to