From: Elizabeth Figura zfigura@codeweavers.com
--- dlls/win32u/dibdrv/graphics.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/win32u/dibdrv/graphics.c b/dlls/win32u/dibdrv/graphics.c index a22022ac613..b3e8813d2a7 100644 --- a/dlls/win32u/dibdrv/graphics.c +++ b/dlls/win32u/dibdrv/graphics.c @@ -1576,6 +1576,19 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, if (!ellipse_width || !ellipse_height) return dibdrv_Rectangle( dev, left, top, right, bottom );
+ if (dc->attr->graphics_mode == GM_COMPATIBLE) + { + /* Exclude the lower right bounds. */ + if (right < left) + --left; + else + --right; + if (bottom < top) + --top; + else + --bottom; + } + SetRect( &arc_rect, 0, 0, ellipse_width, ellipse_height ); /* We are drawing four arcs, but the number of points we will actually use * is exactly as many as in one ellipse arc. */