Thx Royce3 for notice's a typo error CreateData to CanCreateData in a if statement. But it is not the bug we are looking for.
Modified: trunk/reactos/lib/ddraw/main/surface.c
--- trunk/reactos/lib/ddraw/main/surface.c 2005-08-09 06:28:23 UTC (rev 17232) +++ trunk/reactos/lib/ddraw/main/surface.c 2005-08-09 07:42:00 UTC (rev 17233) @@ -72,7 +72,7 @@
if (This->owner->DriverCallbacks.DdMain.CanCreateSurface (&CanCreateData) == DDHAL_DRIVER_NOTHANDLED) return DDERR_INVALIDPARAMS;
- if(CreateData.ddRVal != DD_OK)
+ if(CanCreateData.ddRVal != DD_OK)
return CanCreateData.ddRVal;