started cleanup object/dc.c
authorMagnus Olsen <magnus@greatlord.com>
Tue, 6 May 2008 20:20:56 +0000 (20:20 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Tue, 6 May 2008 20:20:56 +0000 (20:20 +0000)
1. remove the static global value edd_directdraw_global I intrudues for dx.
   it is now for each driver.

svn path=/trunk/; revision=33330

reactos/subsystems/win32/win32k/include/tags.h
reactos/subsystems/win32/win32k/ntddraw/ddraw.c
reactos/subsystems/win32/win32k/objects/dc.c

index e513686..4a9691a 100644 (file)
@@ -91,8 +91,9 @@
 /* Dx internal tags rember I do not known if it right namees */
 #define TAG_DXPVMLIST   TAG('D', 'X', 'P', 'L') /* pmvlist for the driver */
 #define TAG_DXFOURCC    TAG('D', 'X', 'F', 'O') /* pdwFourCC for the driver */
-#define TAG_DDRAW       TAG('D', 'h', ' ', '1')
+#define TAG_DDRAW       TAG('D', 'h', ' ', '1') 
 #define TAG_DDSURF      TAG('D', 'h', ' ', '2')
+#define TAG_EDDGBL      TAG('E', 'D', 'D', 'G') /* ? edd_directdraw_global ??*/
 
 
 #endif /* _WIN32K_TAGS_H */
index 4a54b7a..04b8414 100644 (file)
@@ -432,10 +432,6 @@ NtGdiDdQueryDirectDrawObject(HANDLE hDirectDrawLocal,
                              DWORD *puNumFourCC,
                              DWORD *puFourCC)
 {
-#if DXDBG
-    BOOL status = FALSE;
-#endif
-
     PGD_DXDDQUERYDIRECTDRAWOBJECT pfnDdQueryDirectDrawObject = (PGD_DXDDQUERYDIRECTDRAWOBJECT)gpDxFuncs[DXG_INDEX_DxDdQueryDirectDrawObject].pfn;
    
     if (pfnDdQueryDirectDrawObject == NULL)
@@ -446,21 +442,10 @@ NtGdiDdQueryDirectDrawObject(HANDLE hDirectDrawLocal,
 
     DPRINT1("Calling dxg.sys pfnDdQueryDirectDrawObject\n");
 
-#if DXDBG
-    status = pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, 
-                                      puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
-
 
-    dump_edd_directdraw_global(&edd_DdirectDraw_Global);
-    dump_edd_directdraw_local(edd_DdirectDraw_Global.peDirectDrawLocalList);
-
-    return status;
-#else
     return pfnDdQueryDirectDrawObject(hDirectDrawLocal, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, 
                                       puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, puNumFourCC, puFourCC);
 
-#endif
-
 }
 
 
index 381eea2..343a5f7 100644 (file)
@@ -32,7 +32,7 @@ static GDIDEVICE PrimarySurface;
 static KEVENT VideoDriverNeedsPreparation;
 static KEVENT VideoDriverPrepared;
 static PDC defaultDCstate = NULL;
-EDD_DIRECTDRAW_GLOBAL edd_DdirectDraw_Global;
+
 
 NTSTATUS FASTCALL
 InitDcImpl(VOID)
@@ -554,8 +554,11 @@ IntPrepareDriver()
       PrimarySurface.ppdevNext = NULL;    // Fixme! We need to support more than display drvs.
       PrimarySurface.ppdevParent = NULL;  // Always NULL if primary.
       PrimarySurface.pGraphicsDev = NULL; // Fixme!
-      PrimarySurface.pEDDgpl = (EDD_DIRECTDRAW_GLOBAL *)&edd_DdirectDraw_Global; // FIXME! We need to support more than display drvs.
-      RtlZeroMemory( &edd_DdirectDraw_Global ,sizeof(EDD_DIRECTDRAW_GLOBAL));
+      PrimarySurface.pEDDgpl = ExAllocatePoolWithTag(PagedPool, sizeof(EDD_DIRECTDRAW_GLOBAL), TAG_EDDGBL);
+      if (PrimarySurface.pEDDgpl)
+      {
+          RtlZeroMemory( PrimarySurface.pEDDgpl ,sizeof(EDD_DIRECTDRAW_GLOBAL));
+      }
       ret = TRUE;
       goto cleanup;
    }
@@ -626,6 +629,7 @@ PrepareVideoPrt()
    return NT_SUCCESS(Status);
 }
 
+
 BOOL FASTCALL
 IntCreatePrimarySurface()
 {