From: Bartosz Kosiorek <gang65@poczta.onet.pl> --- dlls/gdiplus/graphicspath.c | 4 ++++ dlls/gdiplus/tests/graphicspath.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/dlls/gdiplus/graphicspath.c b/dlls/gdiplus/graphicspath.c index a18f37395d2..24759132c1d 100644 --- a/dlls/gdiplus/graphicspath.c +++ b/dlls/gdiplus/graphicspath.c @@ -1929,6 +1929,10 @@ GpStatus WINGDIPAPI GdipWarpPath(GpPath *path, GpMatrix* matrix, FIXME("(%p,%s,%p,%i,%0.2f,%0.2f,%0.2f,%0.2f,%i,%0.2f)\n", path, debugstr_matrix(matrix), points, count, x, y, width, height, warpmode, flatness); + if (!path || !points || count < 1) { + return InvalidParameter; + } + return NotImplemented; } diff --git a/dlls/gdiplus/tests/graphicspath.c b/dlls/gdiplus/tests/graphicspath.c index 2a92f842101..baa216c2254 100644 --- a/dlls/gdiplus/tests/graphicspath.c +++ b/dlls/gdiplus/tests/graphicspath.c @@ -1503,15 +1503,15 @@ static void test_warp_path(void) /* NULL path */ status = GdipWarpPath(NULL, NULL, dest_points, count, 0.0, 0.0, 128.0, 128.0, WarpModePerspective, FlatnessDefault); - todo_wine expect(InvalidParameter, status); + expect(InvalidParameter, status); /* NULL destination points */ status = GdipWarpPath(path, NULL, NULL, count, 0.0, 0.0, 128.0, 128.0, WarpModePerspective, FlatnessDefault); - todo_wine expect(InvalidParameter, status); + expect(InvalidParameter, status); /* Zero number of point in destination points */ status = GdipWarpPath(path, NULL, dest_points, 0, 0.0, 0.0, 128.0, 128.0, WarpModePerspective, FlatnessDefault); - todo_wine expect(InvalidParameter, status); + expect(InvalidParameter, status); /* Valid warp with one destination point */ status = GdipWarpPath(path, NULL, dest_points, 1, 0.0, 0.0, 128.0, 128.0, WarpModePerspective, FlatnessDefault); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10714