From: Elizabeth Figura zfigura@codeweavers.com
--- dlls/win32u/dibdrv/graphics.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/win32u/dibdrv/graphics.c b/dlls/win32u/dibdrv/graphics.c index 21085a1d84a..df62bc1dea5 100644 --- a/dlls/win32u/dibdrv/graphics.c +++ b/dlls/win32u/dibdrv/graphics.c @@ -1565,9 +1565,6 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, BOOL ret = TRUE; HRGN outline = 0, interior = 0;
- 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. */ @@ -1584,6 +1581,9 @@ BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, ellipse_width = min( abs( ellipse_width ), abs( right - left ) + 1 ); ellipse_height = min( abs( ellipse_height ), abs( bottom - top ) + 1 );
+ if (ellipse_width <= 1 || ellipse_height <= 1) + return dibdrv_Rectangle( dev, left, top, right, 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. */