From: Magnus Olsen Date: Sun, 20 Apr 2008 11:50:43 +0000 (+0000) Subject: add two hack so dxg.sys continue works for now. X-Git-Tag: backups/hyperion@33110~42 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=d9e6cd4b38be4491d650345095bb015851965bc1 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 --- diff --git a/reactos/subsystems/win32/win32k/ntddraw/dd.c b/reactos/subsystems/win32/win32k/ntddraw/dd.c index 4865afb6e05..d6db3bf7a28 100644 --- a/reactos/subsystems/win32/win32k/ntddraw/dd.c +++ b/reactos/subsystems/win32/win32k/ntddraw/dd.c @@ -95,7 +95,10 @@ NtGdiDdGetScanLine(HANDLE hDirectDrawLocal, } 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; } diff --git a/reactos/subsystems/win32/win32k/ntddraw/ddraw.c b/reactos/subsystems/win32/win32k/ntddraw/ddraw.c index a4cdc94108a..8fc34aacd5b 100644 --- a/reactos/subsystems/win32/win32k/ntddraw/ddraw.c +++ b/reactos/subsystems/win32/win32k/ntddraw/ddraw.c @@ -336,8 +336,12 @@ NtGdiDdDeleteDirectDrawObject(HANDLE hDirectDrawLocal) DPRINT1("Warning: hDirectDrawLocal is NULL\n"); return DDHAL_DRIVER_HANDLED; } + DPRINT1("hDirectDrawLocal = %lx \n",hDirectDrawLocal); 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 STDCALL diff --git a/reactos/subsystems/win32/win32k/ntddraw/dxeng.c b/reactos/subsystems/win32/win32k/ntddraw/dxeng.c index 3f94dbea7df..de38b16554f 100644 --- a/reactos/subsystems/win32/win32k/ntddraw/dxeng.c +++ b/reactos/subsystems/win32/win32k/ntddraw/dxeng.c @@ -180,13 +180,13 @@ DxEngLockShareSem() { BOOLEAN retVal = 0; DPRINT1("ReactX Calling : DxEngLockShareSem\n"); - +#if 0 if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == FALSE) { KeEnterCriticalRegion(); retVal = ExAcquireResourceExclusiveLite(&ghsemShareDevLock, TRUE); } - +#endif return retVal; } @@ -208,11 +208,14 @@ STDCALL DxEngUnlockShareSem() { DPRINT1("ReactX Calling : DxEngUnlockShareSem\n"); + +#if 0 if (ExIsResourceAcquiredExclusiveLite(&ghsemShareDevLock) == TRUE) { ExReleaseResourceLite(&ghsemShareDevLock); KeLeaveCriticalRegion(); } +#endif return TRUE; }