From: Nikolay Sivov nsivov@codeweavers.com
--- dlls/gdi32/dc.c | 1 + dlls/gdi32/tests/dc.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/dlls/gdi32/dc.c b/dlls/gdi32/dc.c index 27211a2b1d2..09068c7d13a 100644 --- a/dlls/gdi32/dc.c +++ b/dlls/gdi32/dc.c @@ -1372,6 +1372,7 @@ BOOL WINAPI SetMiterLimit( HDC hdc, FLOAT limit, FLOAT *old_limit ) DC_ATTR *dc_attr; if (!(dc_attr = get_dc_attr( hdc ))) return FALSE; if (dc_attr->emf && !EMFDC_SetMiterLimit( dc_attr, limit )) return 0; + if (limit < 1.0f) return FALSE; if (old_limit) *old_limit = dc_attr->miter_limit; dc_attr->miter_limit = limit; return TRUE; diff --git a/dlls/gdi32/tests/dc.c b/dlls/gdi32/tests/dc.c index d8204acfc14..ef121470dfe 100644 --- a/dlls/gdi32/tests/dc.c +++ b/dlls/gdi32/tests/dc.c @@ -101,15 +101,12 @@ static void test_dc_values(void)
limit = 456.0; ret = SetMiterLimit(hdc, 0.9f, &limit); - todo_wine ok(!ret, "Unexpected return value.\n"); - todo_wine ok(limit == 456.0f, "Unexpected default miter limit %f.\n", limit);
limit = 0.0; ret = SetMiterLimit(hdc, 1.0f, &limit); ok(ret, "Unexpected return value.\n"); - todo_wine ok(limit == 10.0f, "Unexpected default miter limit %f.\n", limit);
DeleteDC( hdc );