From d8a49ddd85c366064da2844baf21f63555799c24 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Sat, 3 Sep 2011 16:22:32 +0000 Subject: [PATCH] [win32k] - merge r53215 and r53221 from themes branch - Fixes drawing apps that use SetWindowRgn and also fixes a gdi object leak See issue #1239 for more details. svn path=/trunk/; revision=53548 --- reactos/subsystems/win32/win32k/ntuser/winpos.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reactos/subsystems/win32/win32k/ntuser/winpos.c b/reactos/subsystems/win32/win32k/ntuser/winpos.c index a6573c27746..899eba84224 100644 --- a/reactos/subsystems/win32/win32k/ntuser/winpos.c +++ b/reactos/subsystems/win32/win32k/ntuser/winpos.c @@ -1026,7 +1026,7 @@ co_WinPosSetWindowPos( WvrFlags = co_WinPosDoNCCALCSize(Window, &WinPos, &NewWindowRect, &NewClientRect); - TRACE("co_WinPosDoNCCALCSize"); + TRACE("co_WinPosDoNCCALCSize returned %d\n", WvrFlags); /* Relink windows. (also take into account shell window in hwndShellWindow) */ if (!(WinPos.flags & SWP_NOZORDER) && WinPos.hwnd != UserGetShellWindow()) @@ -2088,6 +2088,9 @@ NtUserSetWindowRgn( hrgnCopy = NULL; } + /* Delete the region passed by the caller */ + GreDeleteObject(hRgn); + if (Window->hrgnClip) { /* Delete no longer needed region handle */ @@ -2097,9 +2100,6 @@ NtUserSetWindowRgn( if (hrgnCopy) { - if (Window->fnid != FNID_DESKTOP) - NtGdiOffsetRgn(hrgnCopy, Window->rcWindow.left, Window->rcWindow.top); - /* Set public ownership */ IntGdiSetRegionOwner(hrgnCopy, GDI_OBJ_HMGR_PUBLIC); }