[ros-bugs] [Bug 677] Crashes after lots of GDI_OBJECT_TYPE_BRUSH - memory corruption?

ReactOS.Bugzilla at reactos.com ReactOS.Bugzilla at reactos.com
Mon Jul 18 07:03:21 CEST 2005


http://reactos.com/bugzilla/show_bug.cgi?id=677





------- Additional Comments From jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net  2005-18-07 06:03 -------
Before,
BOOL STDCALL
 NtGdiUnrealizeObject(HGDIOBJ hgdiobj)
 {
    UNIMPLEMENTED;
    return FALSE;
 }

and Now!
BOOL STDCALL
NtGdiUnrealizeObject(HGDIOBJ hgdiobj)
{

   GDIOBJHDR * ptr;
   DWORD objectType;

   UNIMPLEMENTED;

   ptr = GDIOBJ_LockObj(hgdiobj, GDI_OBJECT_TYPE_DONTCARE);
   if (ptr == 0)
     {
        SetLastWin32Error(ERROR_INVALID_HANDLE);
        return FALSE;
     }
   objectType = GDIOBJ_GetObjectType(hgdiobj);
   switch(objectType)
     {
         case GDI_OBJECT_TYPE_PALETTE:
           {
           /* Make sure this is a Palette object!*/
              DPRINT1("GDI_OBJECT_TYPE_PALETTE\n");
              break;
           }
         case GDI_OBJECT_TYPE_BRUSH:
           {
              DPRINT1("GDI_OBJECT_TYPE_BRUSH\n");
              break;
           }
         default:
           DPRINT1("Magic 0x%08x not implemented\n", objectType);
           break;
     }

   GDIOBJ_UnlockObjByPtr(ptr);
   return FALSE;
}
This was a test to determined what object we need to Unrealize. At first I
thought it was only for Palette objects. After looking closer at the wine source
I noticed they have it for other objects. The above code confirms this.

We need to finish implementing this so we can fix NtGdiRealizePalette. The other 
two problems, I'm open. It does seem they too rely on it as well.

-- 
Configure bugmail: http://reactos.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Ros-bugs mailing list