From: Aida JonikienÄ— aidas957@gmail.com
Fixes: 5924ab4c515 ("win32u: Implement drawing transformed round rectangles.") Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57306 --- dlls/win32u/dibdrv/graphics.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/win32u/dibdrv/graphics.c b/dlls/win32u/dibdrv/graphics.c index 414737fa8ca..84e541871fc 100644 --- a/dlls/win32u/dibdrv/graphics.c +++ b/dlls/win32u/dibdrv/graphics.c @@ -367,12 +367,13 @@ static unsigned int get_arc_max_points( DC *dc, const RECT *rect ) {rect->right, rect->bottom}, {rect->right, rect->top} }; - unsigned int width, height; + unsigned int width, height, points;
lp_to_dp( dc, pts, 4 ); width = max( abs( pts[2].x - pts[0].x ), abs( pts[3].x - pts[1].x )); height = max( abs( pts[2].y - pts[0].y ), abs( pts[3].y - pts[1].y )); - return (width + height) * 3; + points = (width + height) * 3; + return (points % 4) == 0 ? points : (points + 3) & ~3); }
/* backend for arc functions; extra_lines is -1 for ArcTo, 0 for Arc, 1 for Chord, 2 for Pie */