From: Bartosz Kosiorek <gang65@poczta.onet.pl> In case HEMF (Handle to an Enhanced Metafile) is missing, we should return InvalidParameter --- dlls/gdiplus/image.c | 3 +++ dlls/gdiplus/tests/metafile.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 035db159d5b..9bd992a4578 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -2243,6 +2243,9 @@ GpStatus WINGDIPAPI GdipGetImageHorizontalResolution(GpImage *image, REAL *res) if(!image || !res) return InvalidParameter; + if(!((GpMetafile*)image)->hemf) + return InvalidParameter; + *res = image->xres; TRACE("(%p) <-- %0.2f\n", image, *res); diff --git a/dlls/gdiplus/tests/metafile.c b/dlls/gdiplus/tests/metafile.c index 23d2f50c6d7..f610775adc0 100644 --- a/dlls/gdiplus/tests/metafile.c +++ b/dlls/gdiplus/tests/metafile.c @@ -1477,7 +1477,7 @@ static void test_pagetransform(void) return; stat = GdipGetImageHorizontalResolution((GpImage*)metafile, &dpix); - todo_wine expect(InvalidParameter, stat); + expect(InvalidParameter, stat); stat = GdipGetImageVerticalResolution((GpImage*)metafile, &dpiy); todo_wine expect(InvalidParameter, stat); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10480