compositor: change rounding in weston_surface_to_buffer_rect()
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@collabora.co.uk> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
+2
-2
@@ -945,8 +945,8 @@ weston_surface_to_buffer_rect(struct weston_surface *surface,
|
|||||||
rect.y1 = floorf(yf);
|
rect.y1 = floorf(yf);
|
||||||
|
|
||||||
scaler_surface_to_buffer(surface, rect.x2, rect.y2, &xf, &yf);
|
scaler_surface_to_buffer(surface, rect.x2, rect.y2, &xf, &yf);
|
||||||
rect.x2 = floorf(xf);
|
rect.x2 = ceilf(xf);
|
||||||
rect.y2 = floorf(yf);
|
rect.y2 = ceilf(yf);
|
||||||
|
|
||||||
return weston_transformed_rect(surface->width_from_buffer,
|
return weston_transformed_rect(surface->width_from_buffer,
|
||||||
surface->height_from_buffer,
|
surface->height_from_buffer,
|
||||||
|
|||||||
Reference in New Issue
Block a user