Author: jimtabor Date: Fri Jun 13 13:19:28 2008 New Revision: 33956
URL: http://svn.reactos.org/svn/reactos?rev=33956&view=rev Log: Add notes, no code change.
Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/obj... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/gdiobj.c [iso-8859-1] Fri Jun 13 13:19:28 2008 @@ -1432,7 +1432,8 @@ (PGDIBRUSHOBJ)->pBrushAttr = IntGdiAllocObjAttr(GDIObjType_BRUSH_TYPE);
// Kernel Space to User Space Pointer - (PGDI_TABLE_ENTRY)->UserData = UserHeapAddressToUser(pBrushAttr); + (PGDI_TABLE_ENTRY)->UserData = pBrushAttr; + // Gdi will adjust for heap delta.
Example Freeing:
@@ -1441,11 +1442,9 @@ (PGDIBRUSHOBJ)->pBrushAttr = NULL;
Notes: - Testing with DC_ATTR works but has drawing difficulties. This could be due - to a bug in user share heap allocation and deallocation. The test did not - include additional deallocations until the DC was freed. So it was always - allocated to the DC. Space between allocations was not even and at less - than sizeof(DC_ATTR). + Testing with DC_ATTR works but has drawing difficulties. + Base on observation, (Over looking the obvious) we need to supply heap delta + to user space gdi. Now, with testing, looks all normal.
*/ PVOID