From c2fcc4a380fb037b1d03a10f2f4c6071d5a4d35e Mon Sep 17 00:00:00 2001 From: Magnus Olsen Date: Tue, 9 Aug 2005 11:18:48 +0000 Subject: [PATCH] fix a minor bug, for bad writen driver. some drv checking for two DDRAWI_DDRAWSURFACE_LCL array instead for one. But it is not the bug svn path=/trunk/; revision=17237 --- reactos/lib/ddraw/main/surface.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/reactos/lib/ddraw/main/surface.c b/reactos/lib/ddraw/main/surface.c index e081f3306f7..74699a1b148 100644 --- a/reactos/lib/ddraw/main/surface.c +++ b/reactos/lib/ddraw/main/surface.c @@ -49,11 +49,17 @@ HRESULT WINAPI Main_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 iface, LPDIREC Local.lpGbl = &Global; Local.lpSurfMore = &More; Local.ddsCaps = *(DDSCAPS*)&pDDSD->ddsCaps; + + // BitDepth = DDSurf_BitDepth(psurf); ? + if(pDDSD->ddsCaps.dwCaps == DDSCAPS_PRIMARYSURFACE) Local.dwFlags |= DDRAWISURF_FRONTBUFFER; - DDRAWI_DDRAWSURFACE_LCL* pLocal = &Local; // for stupid double pointer below + DDRAWI_DDRAWSURFACE_LCL *pLocal[2]; // for stupid double pointer below + + pLocal[0] = &Local; + pLocal[1] = NULL; // The Parameter Struct DDHAL_CREATESURFACEDATA CreateData; @@ -61,7 +67,9 @@ HRESULT WINAPI Main_DDrawSurface_Initialize (LPDIRECTDRAWSURFACE7 iface, LPDIREC CreateData.lpDD = &This->owner->DirectDrawGlobal; CreateData.lpDDSurfaceDesc = (DDSURFACEDESC*)pDDSD; CreateData.dwSCnt = 1; - CreateData.lplpSList = &pLocal; + CreateData.lplpSList = pLocal; + + DDHAL_CANCREATESURFACEDATA CanCreateData; memset(&CanCreateData, 0, sizeof(DD_CANCREATESURFACEDATA));