activate PDD_DIRECTDRAW for GDIOBJ_LockObj so it does not fail if it is GDI_OBJECT_TYPE_DIRECTDRAW request. Thx w3seek for his guiding how todo it.
Modified: trunk/reactos/subsys/win32k/include/intddraw.h
Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c

Modified: trunk/reactos/subsys/win32k/include/intddraw.h
--- trunk/reactos/subsys/win32k/include/intddraw.h	2005-10-05 18:36:10 UTC (rev 18275)
+++ trunk/reactos/subsys/win32k/include/intddraw.h	2005-10-05 19:29:08 UTC (rev 18276)
@@ -61,7 +61,7 @@
 	PDD_SURFCB_UNLOCK               DdUnlockD3DBuffer;
 } DD_DIRECTDRAW, *PDD_DIRECTDRAW;
 
-BOOL FASTCALL DD_Cleanup(PDD_DIRECTDRAW pDD);
-BOOL FASTCALL DDSURF_Cleanup(PDD_SURFACE pDDSurf);
+BOOL INTERNAL_CALL DD_Cleanup(PVOID pDD);
+BOOL INTERNAL_CALL DDSURF_Cleanup(PVOID pDDSurf);
 
 #endif /* _INT_W32k_DDRAW */

Modified: trunk/reactos/subsys/win32k/ntddraw/ddraw.c
--- trunk/reactos/subsys/win32k/ntddraw/ddraw.c	2005-10-05 18:36:10 UTC (rev 18275)
+++ trunk/reactos/subsys/win32k/ntddraw/ddraw.c	2005-10-05 19:29:08 UTC (rev 18276)
@@ -17,9 +17,10 @@
 /* DIRECT DRAW OBJECT                                                   */
 /************************************************************************/
 
-BOOL FASTCALL
-DD_Cleanup(PDD_DIRECTDRAW pDD)
+BOOL INTERNAL_CALL
+DD_Cleanup(PVOID ObjectBody)
 {
+	PDD_DIRECTDRAW pDD = (PDD_DIRECTDRAW)ObjectBody;
 	pDD->DrvDisableDirectDraw(pDD->Global.dhpdev);
 	return TRUE;
 }
@@ -50,6 +51,8 @@
 		return NULL;
 	}
 
+	
+
 	BOOL success = pDC->DriverFunctions.EnableDirectDraw(
 		pDC->PDev, &callbacks, &surface_callbacks, &palette_callbacks);
 
@@ -193,10 +196,12 @@
 /* SURFACE OBJECT                                                       */
 /************************************************************************/
 
-BOOL FASTCALL
-DDSURF_Cleanup(PDD_SURFACE pDDSurf)
+BOOL INTERNAL_CALL
+DDSURF_Cleanup(PVOID pDDSurf)
 {
-	//FIXME: implement
+	/* FIXME: implement 
+	 * PDD_SURFACE pDDSurf = PVOID pDDSurf
+	 */
 	return TRUE;
 }
 

Modified: trunk/reactos/subsys/win32k/objects/gdiobj.c
--- trunk/reactos/subsys/win32k/objects/gdiobj.c	2005-10-05 18:36:10 UTC (rev 18275)
+++ trunk/reactos/subsys/win32k/objects/gdiobj.c	2005-10-05 19:29:08 UTC (rev 18276)
@@ -83,8 +83,8 @@
   {GDI_OBJECT_TYPE_PEN,         sizeof(GDIBRUSHOBJ),   GDI_CleanupDummy},
   {GDI_OBJECT_TYPE_FONT,        sizeof(TEXTOBJ),       GDI_CleanupDummy},
   {GDI_OBJECT_TYPE_DCE,         sizeof(DCE),           DCE_Cleanup},
-/*{GDI_OBJECT_TYPE_DIRECTDRAW,  sizeof(DD_DIRECTDRAW), DD_Cleanup},
-  {GDI_OBJECT_TYPE_DD_SURFACE,  sizeof(DD_SURFACE),    DDSURF_Cleanup},*/
+  {GDI_OBJECT_TYPE_DIRECTDRAW,  sizeof(DD_DIRECTDRAW), DD_Cleanup},
+  {GDI_OBJECT_TYPE_DD_SURFACE,  sizeof(DD_SURFACE),    DDSURF_Cleanup},
   {GDI_OBJECT_TYPE_EXTPEN,      0,                     GDI_CleanupDummy},
   {GDI_OBJECT_TYPE_METADC,      0,                     GDI_CleanupDummy},
   {GDI_OBJECT_TYPE_METAFILE,    0,                     GDI_CleanupDummy},