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.

svn path=/trunk/; revision=18276
This commit is contained in:
Magnus Olsen 2005-10-05 19:29:08 +00:00
parent 09f3f08c6d
commit 24269c114d
3 changed files with 14 additions and 9 deletions

View file

@ -61,7 +61,7 @@ typedef struct
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 */

View file

@ -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 @@ HANDLE STDCALL NtGdiDdCreateDirectDrawObject(
return NULL;
}
BOOL success = pDC->DriverFunctions.EnableDirectDraw(
pDC->PDev, &callbacks, &surface_callbacks, &palette_callbacks);
@ -193,10 +196,12 @@ BOOL STDCALL NtGdiDdQueryDirectDrawObject(
/* 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;
}

View file

@ -83,8 +83,8 @@ GDI_OBJ_INFO ObjInfo[] =
{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},