[Win32k|Gdi32]
authorJames Tabor <james.tabor@reactos.org>
Tue, 23 Feb 2010 04:18:24 +0000 (04:18 +0000)
committerJames Tabor <james.tabor@reactos.org>
Tue, 23 Feb 2010 04:18:24 +0000 (04:18 +0000)
- Fix GdiBatch, the limit is for user space not system. Revert 45659.

svn path=/trunk/; revision=45667

reactos/dll/win32/gdi32/objects/region.c
reactos/subsystems/win32/win32k/objects/gdibatch.c

index 28e5208..e1f187a 100644 (file)
@@ -104,7 +104,7 @@ BOOL
 FASTCALL
 DeleteRegion( HRGN hRgn )
 {
-#if 0
+//#if 0
   PRGN_ATTR Rgn_Attr;
 
   if ((GdiGetHandleUserData((HGDIOBJ) hRgn, GDI_OBJECT_TYPE_REGION, (PVOID) &Rgn_Attr)) &&
@@ -128,7 +128,7 @@ DeleteRegion( HRGN hRgn )
         }
      }
   }
-#endif
+//#endif
   return NtGdiDeleteObjectApp((HGDIOBJ) hRgn);
 }
 
index 8cb32a7..b0c8ec9 100644 (file)
@@ -101,8 +101,9 @@ GdiFlushUserBatch(PDC dc, PGDIBATCHHDR pHdr)
         TextIntRealizeFont((HFONT) pgO->hgdiobj, NULL);
         pdcattr->ulDirty_ &= ~(DIRTY_CHARSET);
      }
-     case GdiBCDelObj:
      case GdiBCDelRgn:
+        DPRINT("Delete Region Object!\n");
+     case GdiBCDelObj:
      {
         PGDIBSOBJECT pgO = (PGDIBSOBJECT) pHdr;
         GreDeleteObject( pgO->hgdiobj );
@@ -146,8 +147,9 @@ NtGdiFlushUserBatch(VOID)
     HDC hDC = (HDC) pTeb->GdiTebBatch.HDC;
 
     /*  If hDC is zero and the buffer fills up with delete objects we need
-        to run anyway. So, hard code to the system batch limit. */
-    if ((hDC) || (GdiBatchCount >= GDI_BATCH_LIMIT))
+        to run anyway.
+     */
+    if (hDC || GdiBatchCount)
     {
       PCHAR pHdr = (PCHAR)&pTeb->GdiTebBatch.Buffer[0];
       PDC pDC = NULL;