- Fix the select of the clip region for a window. Apologies to Rafal Harabien select works like select, also don't
assume the original author is always right.



svn path=/trunk/; revision=50961
This commit is contained in:
James Tabor 2011-03-03 13:59:17 +00:00
parent dba4ecb162
commit 1fd7d93b5d

View file

@ -4052,7 +4052,7 @@ NtUserSetWindowRgn(
} }
else else
{ {
hrgnCopy = IntSysCreateRectRgnIndirect(&Window->rcWindow); //HRGN_WINDOW; hrgnCopy = NULL;
} }
if (Window->hrgnClip) if (Window->hrgnClip)
@ -4061,12 +4061,14 @@ NtUserSetWindowRgn(
GreDeleteObject(Window->hrgnClip); GreDeleteObject(Window->hrgnClip);
} }
if (Window->fnid != FNID_DESKTOP) if (hrgnCopy)
NtGdiOffsetRgn(hrgnCopy, Window->rcWindow.left, Window->rcWindow.top); {
if (Window->fnid != FNID_DESKTOP)
/* Set public ownership */ NtGdiOffsetRgn(hrgnCopy, Window->rcWindow.left, Window->rcWindow.top);
IntGdiSetRegionOwner(hrgnCopy, GDI_OBJ_HMGR_PUBLIC);
/* Set public ownership */
IntGdiSetRegionOwner(hrgnCopy, GDI_OBJ_HMGR_PUBLIC);
}
Window->hrgnClip = hrgnCopy; Window->hrgnClip = hrgnCopy;
Ret = co_WinPosSetWindowPos(Window, HWND_TOP, 0, 0, 0, 0, bRedraw ? flags : (flags|SWP_NOREDRAW) ); Ret = co_WinPosSetWindowPos(Window, HWND_TOP, 0, 0, 0, 0, bRedraw ? flags : (flags|SWP_NOREDRAW) );