Author: jimtabor Date: Mon Nov 28 16:48:39 2016 New Revision: 73403
URL: http://svn.reactos.org/svn/reactos?rev=73403&view=rev Log: [Win32SS] - Revert HAX : Fix validating region with null. See CORE-12169 and related issues.
Modified: trunk/reactos/win32ss/user/ntuser/painting.c trunk/reactos/win32ss/user/ntuser/simplecall.c
Modified: trunk/reactos/win32ss/user/ntuser/painting.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/paintin... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/painting.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/painting.c [iso-8859-1] Mon Nov 28 16:48:39 2016 @@ -1158,33 +1158,13 @@ }
// -// Hax around internal painting of windows. +// Internal painting of windows. // VOID FASTCALL IntPaintWindow( PWND Window ) { // Handle normal painting. co_IntPaintWindows( Window, RDW_NOCHILDREN, FALSE ); - - // Hack to prevent more spamming from misbehaving application. - // Handle it like a begin/end paint - if (Window->hrgnUpdate != NULL) - { - ERR("HAX hrgnUpdate not NULL! Dec Paint Count!\n"); - MsqDecPaintCountQueue(Window->head.pti); - IntGdiSetRegionOwner(Window->hrgnUpdate, GDI_OBJ_HMGR_POWNED); - GreDeleteObject(Window->hrgnUpdate); - Window->state &= ~WNDS_UPDATEDIRTY; - Window->hrgnUpdate = NULL; - } - else - { - if (!(Window->state & WNDS_INTERNALPAINT)) - { - ERR("HAX WNDS_INTERNALPAINT not set! Dec Paint Count!\n"); - MsqDecPaintCountQueue(Window->head.pti); - } - } }
BOOL FASTCALL
Modified: trunk/reactos/win32ss/user/ntuser/simplecall.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/simplec... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/simplecall.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/simplecall.c [iso-8859-1] Mon Nov 28 16:48:39 2016 @@ -774,11 +774,8 @@ case TWOPARAM_ROUTINE_VALIDATERGN: { PREGION Rgn = REGION_LockRgn((HRGN)Param); - if (Rgn) - { - Ret = (DWORD)co_UserRedrawWindow( Window, NULL, Rgn, RDW_VALIDATE); - REGION_UnlockRgn(Rgn); - } + Ret = (DWORD)co_UserRedrawWindow( Window, NULL, Rgn, RDW_VALIDATE); + if (Rgn) REGION_UnlockRgn(Rgn); break; } }