Fixup UnrealizeObject so it can return the correct state for a Brush Object. Modified: trunk/reactos/subsys/win32k/objects/color.c _____
Modified: trunk/reactos/subsys/win32k/objects/color.c --- trunk/reactos/subsys/win32k/objects/color.c 2005-07-19 01:55:16 UTC (rev 16639) +++ trunk/reactos/subsys/win32k/objects/color.c 2005-07-19 03:13:11 UTC (rev 16640) @@ -594,14 +594,14 @@
GDIOBJHDR * ptr; DWORD objectType; - + BOOL Ret = FALSE; UNIMPLEMENTED;
ptr = GDIOBJ_LockObj(hgdiobj, GDI_OBJECT_TYPE_DONTCARE); if (ptr == 0) { SetLastWin32Error(ERROR_INVALID_HANDLE); - return FALSE; + return Ret; } objectType = GDIOBJ_GetObjectType(hgdiobj); switch(objectType) @@ -612,9 +612,16 @@ DPRINT1("GDI_OBJECT_TYPE_PALETTE\n"); break; } +/* + msdn.microsoft.com, + "Windows 2000/XP: If hgdiobj is a brush, UnrealizeObject does nothing, + and the function returns TRUE. Use SetBrushOrgEx to set the origin of + a brush." + */ case GDI_OBJECT_TYPE_BRUSH: { DPRINT1("GDI_OBJECT_TYPE_BRUSH\n"); + Ret = TRUE; break; } default: @@ -623,7 +630,7 @@ }
GDIOBJ_UnlockObjByPtr(ptr); - return FALSE; + return Ret; }
BOOL STDCALL