[PATCH weston 1/2 v2] compositor: change rounding in weston_surface_to_buffer_rect()

Derek Foreman derekf at osg.samsung.com
Tue Dec 1 14:14:40 PST 2015


pushed this one

On 01/12/15 01:00 PM, Derek Foreman wrote:
> 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 <daniels at collabora.co.uk>
> Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
> Signed-off-by: Derek Foreman <derekf at osg.samsung.com>
> ---
> 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,
> 



More information about the wayland-devel mailing list