[ros-diffs] [tkreuzer] 32485: - add BASEOBJECT to brush, palette, font and region structures- fix debug output

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Tue Feb 26 02:00:34 CET 2008


Author: tkreuzer
Date: Tue Feb 26 04:00:34 2008
New Revision: 32485

URL: http://svn.reactos.org/svn/reactos?rev=32485&view=rev
Log:
- add BASEOBJECT to brush, palette, font and region structures- fix debug output

Modified:
    trunk/reactos/subsystems/win32/win32k/include/brush.h
    trunk/reactos/subsystems/win32/win32k/include/dc.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
    trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c

Modified: trunk/reactos/subsystems/win32/win32k/include/brush.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/brush.h?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/brush.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/brush.h Tue Feb 26 04:00:34 2008
@@ -23,10 +23,9 @@
 
 typedef struct
 {
-//   HGDIOBJ     hHmgr;
-//   PVOID       pvEntry;
-//   ULONG       lucExcLock;
-//   ULONG       Tid;
+  /* Header for all gdi objects in the handle table.
+     Do not (re)move this. */
+   BASEOBJECT    BaseObject;
 
    ULONG ulStyle;
    HBITMAP hbmPattern;

Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/dc.h?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/dc.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/dc.h Tue Feb 26 04:00:34 2008
@@ -35,6 +35,8 @@
 /* The DC object structure */
 typedef struct _DC
 {
+  /* Header for all gdi objects in the handle table.
+     Do not (re)move this. */
   BASEOBJECT  BaseObject;
 
   DHPDEV      PDev;   // <- GDIDEVICE.hPDev DHPDEV for device.

Modified: trunk/reactos/subsystems/win32/win32k/include/palette.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/palette.h?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/palette.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/palette.h Tue Feb 26 04:00:34 2008
@@ -31,17 +31,18 @@
 #define PAL_RGB16_565       0x00400000 // 16-bit RGB in 565 format
 #define PAL_GAMMACORRECTION 0x00800000 // Correct colors
 
-typedef struct {
+typedef struct
+{
     int shift;
     int scale;
     int max;
 } ColorShifts;
 
-typedef struct _PALGDI {
-//  HGDIOBJ     hHmgr;
-//  PVOID       pvEntry;
-//  ULONG       lucExcLock;
-//  ULONG       Tid;
+typedef struct _PALGDI
+{
+  /* Header for all gdi objects in the handle table.
+     Do not (re)move this. */
+  BASEOBJECT    BaseObject;
 
   PALOBJ PalObj;
   XLATEOBJ *logicalToSystem;
@@ -79,4 +80,4 @@
 
 PPALETTEENTRY FASTCALL ReturnSystemPalette (VOID);
 
-#endif /* _WIN32K_PALETTE_H */
+#endif /* not _WIN32K_PALETTE_H */

Modified: trunk/reactos/subsystems/win32/win32k/include/region.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/region.h?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/region.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/region.h Tue Feb 26 04:00:34 2008
@@ -4,26 +4,30 @@
 
 #include "gdiobj.h"
 
-/* Internal region data. Can't use RGNDATA structure because buffer is allocated statically */
-typedef struct _ROSRGNDATA {
-//  HGDIOBJ     hHmgr;
-//  PVOID       pvEntry;
-//  ULONG       lucExcLock;
-//  ULONG       Tid;
+/* Type definitions ***********************************************************/
+
+/* Internal region data.
+   Can't use RGNDATA structure because buffer is allocated statically */
+typedef struct _ROSRGNDATA
+{
+  /* Header for all gdi objects in the handle table.
+     Do not (re)move this. */
+  BASEOBJECT    BaseObject;
 
   RGNDATAHEADER rdh;
   PRECT         Buffer;
 } ROSRGNDATA, *PROSRGNDATA, *LPROSRGNDATA;
 
 
+/* Functions ******************************************************************/
+
 #define  RGNDATA_FreeRgn(hRgn)  GDIOBJ_FreeObj(GdiHandleTable, (HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION)
 #define  RGNDATA_LockRgn(hRgn) ((PROSRGNDATA)GDIOBJ_LockObj(GdiHandleTable, (HGDIOBJ)hRgn, GDI_OBJECT_TYPE_REGION))
 #define  RGNDATA_UnlockRgn(pRgn) GDIOBJ_UnlockObjByPtr(GdiHandleTable, pRgn)
+
 HRGN FASTCALL RGNDATA_AllocRgn(INT n);
 BOOL INTERNAL_CALL RGNDATA_Cleanup(PVOID ObjectBody);
-
 BOOL FASTCALL IntGdiPaintRgn(PDC, HRGN );
 HRGN FASTCALL GdiCreatePolyPolygonRgn(CONST PPOINT, CONST PINT, INT, INT );
 
-#endif
-
+#endif /* not __WIN32K_REGION_H */

Modified: trunk/reactos/subsystems/win32/win32k/include/text.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/include/text.h?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/include/text.h (original)
+++ trunk/reactos/subsystems/win32/win32k/include/text.h Tue Feb 26 04:00:34 2008
@@ -20,7 +20,7 @@
 #define TO_SYS_PARTITION    0x1000
 //
 // Extended STROBJ
-// 
+//
 typedef struct _STRGDI
 {
   STROBJ    StrObj; // Text string object header.
@@ -51,12 +51,16 @@
   INT       cDefGlyphs;
   INT       cNumFaceNameGlyphs;
   PVOID     pacFaceNameGlyphs;
-  ULONG     acFaceNameGlyphs[8];    
+  ULONG     acFaceNameGlyphs[8];
 } STRGDI, *PSTRGDI;
 
 /* GDI logical font object */
 typedef struct
 {
+  /* Header for all gdi objects in the handle table.
+     Do not (re)move this. */
+   BASEOBJECT    BaseObject;
+
    ENUMLOGFONTEXDVW logfont;  //LOGFONTW   logfont;
    FONTOBJ    *Font;
    BOOLEAN Initialized; /* Don't reinitialize for each DC */

Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c?rev=32485&r1=32484&r2=32485&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c Tue Feb 26 04:00:34 2008
@@ -311,7 +311,7 @@
 static void FASTCALL
 LockErrorDebugOutput(HGDIOBJ hObj, PGDI_TABLE_ENTRY Entry, LPSTR Function)
 {
-    if (Entry->KernelData == NULL)
+    if ((Entry->Type & GDI_ENTRY_BASETYPE_MASK) == 0)
     {
         DPRINT1("%s: Attempted to lock object 0x%x that is deleted!\n", Function, hObj);
     }




More information about the Ros-diffs mailing list