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
This commit is contained in:
Magnus Olsen
2005-08-09 11:18:48 +00:00
parent 1d1e963067
commit c2fcc4a380
+10 -2
View File
@@ -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));