From: Vincent Povirk vincent@codeweavers.com
--- dlls/gdiplus/metafile.c | 3 +++ dlls/gdiplus/tests/metafile.c | 3 +++ 2 files changed, 6 insertions(+)
diff --git a/dlls/gdiplus/metafile.c b/dlls/gdiplus/metafile.c index 3fdbc69fdc5..f9a9ab750f0 100644 --- a/dlls/gdiplus/metafile.c +++ b/dlls/gdiplus/metafile.c @@ -4031,6 +4031,9 @@ GpStatus WINGDIPAPI GdipSetMetafileDownLevelRasterizationLimit(GpMetafile *metaf if (!metafile) return InvalidParameter;
+ if (!metafile->record_dc) + return WrongState; + metafile->limit_dpi = limitDpi;
return Ok; diff --git a/dlls/gdiplus/tests/metafile.c b/dlls/gdiplus/tests/metafile.c index b9dc33fce35..82854d4240c 100644 --- a/dlls/gdiplus/tests/metafile.c +++ b/dlls/gdiplus/tests/metafile.c @@ -445,6 +445,9 @@ static void test_empty(void) expect(WrongState, stat); expect(0xdeadbeef, limit_dpi);
+ stat = GdipSetMetafileDownLevelRasterizationLimit(metafile, 1); + expect(WrongState, stat); + check_metafile(metafile, empty_records, "empty metafile", dst_points, &frame, UnitPixel);
sync_metafile(&metafile, "empty.emf");
Hi,
While running your changed tests, I think I found new failures. Being a bot and all I'm not very good at pattern recognition, so I might be wrong, but could you please double-check?
Full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=71789
Your paranoid android.
=== wxppro (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w2008s64 (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w8 (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w8adm (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1507 (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809 (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809_2scr (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809_ar (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809_he (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809_ja (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809_zh_CN (32 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w2008s64 (64 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w864 (64 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1507 (64 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
=== w1064v1809 (64 bit report) ===
gdiplus: metafile.c:449: Test failed: Expected 00000008, got 00000002
Better skip this one, Marvin seems to be correct.