From: Aida JonikienÄ— <aidas957(a)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 */ -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/6662