[Win32SS]

- Revert HAX : Fix validating region with null. See CORE-12169 and related issues.

svn path=/trunk/; revision=73403
This commit is contained in:
James Tabor 2016-11-28 16:48:39 +00:00
parent d73bbf218c
commit 8fc6f71e55
2 changed files with 3 additions and 26 deletions

View file

@ -1158,33 +1158,13 @@ IntFindWindowToRepaint(PWND Window, PTHREADINFO Thread)
}
//
// 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

View file

@ -774,11 +774,8 @@ NtUserCallHwndParamLock(
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;
}
}