add two hack so dxg.sys continue works for now.
authorMagnus Olsen <magnus@greatlord.com>
Sun, 20 Apr 2008 11:50:43 +0000 (11:50 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Sun, 20 Apr 2008 11:50:43 +0000 (11:50 +0000)
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

reactos/subsystems/win32/win32k/ntddraw/dd.c
reactos/subsystems/win32/win32k/ntddraw/ddraw.c
reactos/subsystems/win32/win32k/ntddraw/dxeng.c

index 4865afb..d6db3bf 100644 (file)
@@ -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;
 }
 
 
index a4cdc94..8fc34aa 100644 (file)
@@ -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 
index 3f94dbe..de38b16 100644 (file)
@@ -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;
 }