From: Alex Henrie Subject: [PATCH 6/7] ddraw: Fix IDirectDraw7_CreateSurface's invalid descriptor error code. Message-Id: <20170215065349.8863-6-alexhenrie24@gmail.com> Date: Tue, 14 Feb 2017 23:53:48 -0700 In-Reply-To: <20170215065349.8863-1-alexhenrie24@gmail.com> References: <20170215065349.8863-1-alexhenrie24@gmail.com> Signed-off-by: Alex Henrie --- dlls/ddraw/ddraw.c | 2 +- dlls/ddraw/tests/ddraw7.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/dlls/ddraw/ddraw.c b/dlls/ddraw/ddraw.c index ce403c6bab..7f0dec6059 100644 --- a/dlls/ddraw/ddraw.c +++ b/dlls/ddraw/ddraw.c @@ -2812,7 +2812,7 @@ static HRESULT WINAPI ddraw7_CreateSurface(IDirectDraw7 *iface, DDSURFACEDESC2 * { WARN("Application supplied invalid surface descriptor\n"); wined3d_mutex_unlock(); - return DDERR_INVALIDPARAMS; + return E_INVALIDARG; } if(surface_desc->ddsCaps.dwCaps & (DDSCAPS_FRONTBUFFER | DDSCAPS_BACKBUFFER)) diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index c081aef878..e737df9ad6 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -1996,6 +1996,11 @@ static void test_surface_qi(void) hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); + surface = (IDirectDrawSurface7 *)0xdeadbeef; + hr = IDirectDraw7_CreateSurface(ddraw, NULL, &surface, NULL); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + ok(surface == (IDirectDrawSurface7 *)0xdeadbeef, "Got unexpected surface %p\n", surface); + memset(&surface_desc, 0, sizeof(surface_desc)); surface_desc.dwSize = sizeof(surface_desc); surface_desc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT; -- 2.11.1