add two hack so dxg.sys continue works for now.

it does not longer crash at DdDeleteDirectDrawObject for it never been call longer to dxg.sys until I figout why
take DxEngLockShareSem and DxEngUnLockShareSem offline need more invigaste how it is done in windows. 
take DxGdiDdGetScanLine offline for now so it does not crash dxg.sys



svn path=/trunk/; revision=33054
This commit is contained in:
Magnus Olsen 2008-04-20 11:50:43 +00:00
parent 86f3b4692c
commit d9e6cd4b38
3 changed files with 15 additions and 5 deletions

View file

@ -95,7 +95,10 @@ NtGdiDdGetScanLine(HANDLE hDirectDrawLocal,
} }
DPRINT1("Calling on dxg.sys pfnDdGetScanLine"); DPRINT1("Calling on dxg.sys pfnDdGetScanLine");
return pfnDdGetScanLine(hDirectDrawLocal,puGetScanLineData); DPRINT1("FIXME it crash when it trying call on pfnDdGetScanLine\n");
/* FIXME it crash when it trying call on pfnDdGetScanLine */
// return pfnDdGetScanLine(hDirectDrawLocal,puGetScanLineData);
return 0;
} }

View file

@ -336,8 +336,12 @@ NtGdiDdDeleteDirectDrawObject(HANDLE hDirectDrawLocal)
DPRINT1("Warning: hDirectDrawLocal is NULL\n"); DPRINT1("Warning: hDirectDrawLocal is NULL\n");
return DDHAL_DRIVER_HANDLED; return DDHAL_DRIVER_HANDLED;
} }
DPRINT1("hDirectDrawLocal = %lx \n",hDirectDrawLocal);
DPRINT1("Calling dxg.sys pfnDdDeleteDirectDrawObject\n"); DPRINT1("Calling dxg.sys pfnDdDeleteDirectDrawObject\n");
return pfnDdDeleteDirectDrawObject(hDirectDrawLocal); DPRINT1("FIXME delete of the HANDLE\n");
/* FIXME it crash inside or after it return from DxEngLockShareSem */
// return pfnDdDeleteDirectDrawObject(hDirectDrawLocal);
return DDHAL_DRIVER_HANDLED;
} }
/************************************************************************/ /************************************************************************/
@ -360,7 +364,7 @@ NtGdiDdDeleteSurfaceObject(HANDLE hSurface)
} }
/************************************************************************/ /************************************************************************/
/* NtGdiDdDeleteSurfaceObject */ /* NtGdiDdQueryDirectDrawObject */
/************************************************************************/ /************************************************************************/
BOOL BOOL
STDCALL STDCALL

View file

@ -180,13 +180,13 @@ DxEngLockShareSem()
{ {
BOOLEAN retVal = 0; BOOLEAN retVal = 0;
DPRINT1("ReactX Calling : DxEngLockShareSem\n"); DPRINT1("ReactX Calling : DxEngLockShareSem\n");
#if 0
if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == FALSE) if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == FALSE)
{ {
KeEnterCriticalRegion(); KeEnterCriticalRegion();
retVal = ExAcquireResourceExclusiveLite(&ghsemShareDevLock, TRUE); retVal = ExAcquireResourceExclusiveLite(&ghsemShareDevLock, TRUE);
} }
#endif
return retVal; return retVal;
} }
@ -208,11 +208,14 @@ STDCALL
DxEngUnlockShareSem() DxEngUnlockShareSem()
{ {
DPRINT1("ReactX Calling : DxEngUnlockShareSem\n"); DPRINT1("ReactX Calling : DxEngUnlockShareSem\n");
#if 0
if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == TRUE) if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == TRUE)
{ {
ExReleaseResourceLite(&ghsemShareDevLock); ExReleaseResourceLite(&ghsemShareDevLock);
KeLeaveCriticalRegion(); KeLeaveCriticalRegion();
} }
#endif
return TRUE; return TRUE;
} }