}
//
-// 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
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;
}
}