[Win32SS]
authorJames Tabor <james.tabor@reactos.org>
Mon, 28 Nov 2016 16:48:39 +0000 (16:48 +0000)
committerJames Tabor <james.tabor@reactos.org>
Mon, 28 Nov 2016 16:48:39 +0000 (16:48 +0000)
- Revert HAX : Fix validating region with null. See CORE-12169 and related issues.

svn path=/trunk/; revision=73403

reactos/win32ss/user/ntuser/painting.c
reactos/win32ss/user/ntuser/simplecall.c

index 309dd64..43e8d88 100644 (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 );
 //
 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
 }
 
 BOOL FASTCALL
index e1b0392..a32ed43 100644 (file)
@@ -774,11 +774,8 @@ NtUserCallHwndParamLock(
       case TWOPARAM_ROUTINE_VALIDATERGN:
       {
           PREGION Rgn = REGION_LockRgn((HRGN)Param);
       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;
       }
    }
           break;
       }
    }