While slightly odd, this matches what the tests expect. Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> --- dlls/ddraw/device.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/ddraw/device.c b/dlls/ddraw/device.c index 5db0b81a819..7866c281465 100644 --- a/dlls/ddraw/device.c +++ b/dlls/ddraw/device.c @@ -6986,18 +6986,18 @@ HRESULT d3d_device_create(struct ddraw *ddraw, struct ddraw_surface *target, IUn return DDERR_NOPALETTEATTACHED; } - if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY)) - { - WARN("Surface %p is not in video memory.\n", target); - return D3DERR_SURFACENOTINVIDMEM; - } - if (ddraw->flags & DDRAW_NO3D) { ERR_(winediag)("The application wants to create a Direct3D device, " "but the current DirectDrawRenderer does not support this.\n"); - return DDERR_NO3D; + return DDERR_OUTOFMEMORY; + } + + if (!(target->surface_desc.ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY)) + { + WARN("Surface %p is not in video memory.\n", target); + return D3DERR_SURFACENOTINVIDMEM; } if (ddraw->d3ddevice) -- 2.11.0