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 Modified: trunk/reactos/lib/ddraw/main/surface.c _____
Modified: trunk/reactos/lib/ddraw/main/surface.c --- trunk/reactos/lib/ddraw/main/surface.c 2005-08-09 08:54:56 UTC (rev 17236) +++ trunk/reactos/lib/ddraw/main/surface.c 2005-08-09 11:18:48 UTC (rev 17237) @@ -49,19 +49,27 @@
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; memset(&CreateData, 0, sizeof(DDHAL_CREATESURFACEDATA)); 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));