Author: jimtabor Date: Sat Dec 15 11:08:11 2007 New Revision: 31229
URL: http://svn.reactos.org/svn/reactos?rev=31229&view=rev Log: Start using gdi shared handle table.
Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h trunk/reactos/dll/win32/gdi32/main/dllmain.c trunk/reactos/dll/win32/gdi32/misc/gdientry.c trunk/reactos/dll/win32/gdi32/misc/misc.c
Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/include/gdi... ============================================================================== --- trunk/reactos/dll/win32/gdi32/include/gdi32p.h (original) +++ trunk/reactos/dll/win32/gdi32/include/gdi32p.h Sat Dec 15 11:08:11 2007 @@ -10,9 +10,11 @@ /* DATA **********************************************************************/
extern PGDI_TABLE_ENTRY GdiHandleTable; +extern PGDI_SHARED_HANDLE_TABLE GdiSharedHandleTable; extern HANDLE hProcessHeap; extern HANDLE CurrentProcessId; extern DWORD GDI_BatchLimit; +extern PDEVCAPS GdiDevCaps;
typedef INT (CALLBACK* EMFPLAYPROC)(
Modified: trunk/reactos/dll/win32/gdi32/main/dllmain.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/main/dllmai... ============================================================================== --- trunk/reactos/dll/win32/gdi32/main/dllmain.c (original) +++ trunk/reactos/dll/win32/gdi32/main/dllmain.c Sat Dec 15 11:08:11 2007 @@ -11,6 +11,7 @@
extern HGDIOBJ stock_objects[]; BOOL SetStockObjects = FALSE; +PDEVCAPS GdiDevCaps = NULL;
/* * GDI32.DLL doesn't have an entry point. The initialization is done by a call @@ -36,6 +37,8 @@
/* map the gdi handle table to user space */ GdiHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; + GdiSharedHandleTable = NtCurrentTeb()->ProcessEnvironmentBlock->GdiSharedHandleTable; + GdiDevCaps = &GdiSharedHandleTable->DevCaps; CurrentProcessId = NtCurrentTeb()->Cid.UniqueProcess; GDI_BatchLimit = (DWORD) NtCurrentTeb()->ProcessEnvironmentBlock->GdiDCAttributeList; }
Modified: trunk/reactos/dll/win32/gdi32/misc/gdientry.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/gdient... ============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/gdientry.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/gdientry.c Sat Dec 15 11:08:11 2007 @@ -406,7 +406,6 @@ }
/* PRIVATE FUNCTIONS *********************************************************/ -static ULONG RemberDdQueryDisplaySettingsUniquenessID = 0;
BOOL WINAPI @@ -987,8 +986,7 @@ STDCALL DdQueryDisplaySettingsUniqueness() { - /* FIXME share memory */ - return RemberDdQueryDisplaySettingsUniquenessID; + return GdiSharedHandleTable->flDeviceUniq; }
/*
Modified: trunk/reactos/dll/win32/gdi32/misc/misc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/misc.c... ============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/misc.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/misc.c Sat Dec 15 11:08:11 2007 @@ -29,6 +29,7 @@ #include "precomp.h"
PGDI_TABLE_ENTRY GdiHandleTable = NULL; +PGDI_SHARED_HANDLE_TABLE GdiSharedHandleTable = NULL; HANDLE CurrentProcessId = NULL; DWORD GDI_BatchLimit = 1;