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));