[PATCH 2/2] gdiplus: Allow setting rasterization limit only during recording.
From: Vincent Povirk <vincent(a)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"); -- 2.17.1
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
participants (3)
-
Esme Povirk -
Esme Povirk (they/them) -
Marvin