From: Riccardo Bortolato Subject: [v9 01/11] ddraw: Check if surface is a mipmap sublevel or a non-positive X top level surface through caps in ddraw_surface7_GetPriority(). Message-Id: <1447961687-4042-1-git-send-email-rikyz619@gmail.com> Date: Thu, 19 Nov 2015 20:34:37 +0100 Signed-off-by: Riccardo Bortolato --- dlls/ddraw/surface.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c index 45c7594..bb59e88 100644 --- a/dlls/ddraw/surface.c +++ b/dlls/ddraw/surface.c @@ -2370,9 +2370,12 @@ static HRESULT WINAPI ddraw_surface7_GetPriority(IDirectDrawSurface7 *iface, DWO WARN("Called on offscreenplain surface, returning DDERR_INVALIDOBJECT.\n"); hr = DDERR_INVALIDOBJECT; } - else if (!(surface->surface_desc.ddsCaps.dwCaps2 & managed) || !surface->wined3d_texture) + else if (!(surface->surface_desc.ddsCaps.dwCaps2 & managed) + || (surface->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_MIPMAPSUBLEVEL) + || ((surface->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP) + && !(surface->surface_desc.ddsCaps.dwCaps2 & DDSCAPS2_CUBEMAP_POSITIVEX))) { - WARN("Called on non-managed texture or mipmap sublevel, returning DDERR_INVALIDPARAMS.\n"); + WARN("Called on non-managed texture, mipmap sublevel or non +X toplevel surface, returning DDERR_INVALIDPARAMS.\n"); hr = DDERR_INVALIDPARAMS; } else -- 1.9.1