Author: jimtabor
Date: Sat Sep 8 05:05:27 2007
New Revision: 28932
URL:
http://svn.reactos.org/svn/reactos?rev=28932&view=rev
Log:
- Reordered IntGdiGet/SetDCState and separated the copy sections.
- When creating DCE for window handles, allocate a DC structure for the default window
DC.
- Return Dhpdev if not zero for NtGdiOpenDCW.
- Reordered the DC object.
Modified:
trunk/reactos/subsystems/win32/win32k/include/bitmaps.h
trunk/reactos/subsystems/win32/win32k/include/brush.h
trunk/reactos/subsystems/win32/win32k/include/gdiobj.h
trunk/reactos/subsystems/win32/win32k/include/palette.h
trunk/reactos/subsystems/win32/win32k/include/region.h
trunk/reactos/subsystems/win32/win32k/include/text.h
Modified: trunk/reactos/subsystems/win32/win32k/include/bitmaps.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/bitmaps.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/bitmaps.h Sat Sep 8 05:05:27 2007
@@ -5,6 +5,11 @@
/* GDI logical bitmap object */
typedef struct _BITMAPOBJ
{
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+
SURFOBJ SurfObj;
FLONG flHooks;
FLONG flFlags;
Modified: trunk/reactos/subsystems/win32/win32k/include/brush.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/brush.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/brush.h Sat Sep 8 05:05:27 2007
@@ -23,6 +23,11 @@
typedef struct
{
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+
ULONG ulStyle;
HBITMAP hbmPattern;
HANDLE hbmClient;
Modified: trunk/reactos/subsystems/win32/win32k/include/gdiobj.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/gdiobj.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/gdiobj.h Sat Sep 8 05:05:27 2007
@@ -43,6 +43,19 @@
#endif
} GDIOBJHDR, *PGDIOBJHDR;
+//
+// Every GDI Object must have this standard type of header.
+// It's for thread locking.
+// This header is standalone, used only in gdiobj.c.
+//
+typedef struct _GDIOBJEMPTYHDR
+{
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+} GDIOBJEMPTYHDR, *PGDIOBJEMPTYHDR;
+
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ
ObjectHandle);
void INTERNAL_CALL GDIOBJ_SetOwnership(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ
ObjectHandle, PEPROCESS Owner);
void INTERNAL_CALL GDIOBJ_CopyOwnership(PGDI_HANDLE_TABLE HandleTable, HGDIOBJ
CopyFrom, HGDIOBJ CopyTo);
Modified: trunk/reactos/subsystems/win32/win32k/include/palette.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/palette.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/palette.h Sat Sep 8 05:05:27 2007
@@ -16,6 +16,11 @@
} ColorShifts;
typedef struct _PALGDI {
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+
PALOBJ PalObj;
XLATEOBJ *logicalToSystem;
HPALETTE Self;
Modified: trunk/reactos/subsystems/win32/win32k/include/region.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/region.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/region.h Sat Sep 8 05:05:27 2007
@@ -6,6 +6,11 @@
/* Internal region data. Can't use RGNDATA structure because buffer is allocated
statically */
typedef struct _ROSRGNDATA {
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+
RGNDATAHEADER rdh;
PRECT Buffer;
} ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA;
Modified: trunk/reactos/subsystems/win32/win32k/include/text.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/text.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/text.h Sat Sep 8 05:05:27 2007
@@ -6,6 +6,11 @@
/* GDI logical font object */
typedef struct
{
+ HGDIOBJ hHmgr;
+ PVOID pvEntry;
+ ULONG lucExcLock;
+ ULONG Tid;
+
ENUMLOGFONTEXDVW logfont; //LOGFONTW logfont;
FONTOBJ *Font;
BOOLEAN Initialized; /* Don't reinitialize for each DC */