From bff867887d443bde80efb034dd4a3e5c999d65e5 Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Sun, 16 Dec 2007 00:28:35 +0000 Subject: [PATCH] fix a check in createsurface do not accpect if both flag DDSCAPS_SYSTEMMEMORY and DDSCAPS_VIDEOMEMORY are set in pDDSD->ddsCaps svn path=/trunk/; revision=31265 --- reactos/dll/directx/ddraw/Surface/createsurface.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/dll/directx/ddraw/Surface/createsurface.c b/reactos/dll/directx/ddraw/Surface/createsurface.c index ef7a203bddb..691c209102a 100644 --- a/reactos/dll/directx/ddraw/Surface/createsurface.c +++ b/reactos/dll/directx/ddraw/Surface/createsurface.c @@ -58,6 +58,12 @@ Internal_CreateSurface( LPDDRAWI_DIRECTDRAW_INT pDDraw, LPDDSURFACEDESC2 pDDSD, return DDERR_INVALIDOBJECT; } + if ( ((pDDSD->ddsCaps.dwCaps & DDSCAPS_SYSTEMMEMORY) == DDSCAPS_SYSTEMMEMORY) && + ((pDDSD->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY) == DDSCAPS_VIDEOMEMORY) ) + { + return DDERR_INVALIDCAPS; + } + if(!(pDDSD->dwFlags & DDSD_HEIGHT) && !(pDDSD->dwFlags & DDSD_HEIGHT) && !(pDDSD->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)) {