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},