[ros-diffs] [jimtabor] 45667: [Win32k|Gdi32] - Fix GdiBatch, the limit is for user space not system. Revert 45659.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Tue Feb 23 05:18:24 CET 2010


Author: jimtabor
Date: Tue Feb 23 05:18:24 2010
New Revision: 45667

URL: http://svn.reactos.org/svn/reactos?rev=45667&view=rev
Log:
[Win32k|Gdi32]
- Fix GdiBatch, the limit is for user space not system. Revert 45659.

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

Modified: trunk/reactos/dll/win32/gdi32/objects/region.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/region.c?rev=45667&r1=45666&r2=45667&view=diff
==============================================================================
--- trunk/reactos/dll/win32/gdi32/objects/region.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/gdi32/objects/region.c [iso-8859-1] Tue Feb 23 05:18:24 2010
@@ -104,7 +104,7 @@
 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 @@
         }
      }
   }
-#endif
+//#endif
   return NtGdiDeleteObjectApp((HGDIOBJ) hRgn);
 }
 

Modified: trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c?rev=45667&r1=45666&r2=45667&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c [iso-8859-1] (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c [iso-8859-1] Tue Feb 23 05:18:24 2010
@@ -101,8 +101,9 @@
         TextIntRealizeFont((HFONT) pgO->hgdiobj, NULL);
         pdcattr->ulDirty_ &= ~(DIRTY_CHARSET);
      }
+     case GdiBCDelRgn:
+        DPRINT("Delete Region Object!\n");
      case GdiBCDelObj:
-     case GdiBCDelRgn:
      {
         PGDIBSOBJECT pgO = (PGDIBSOBJECT) pHdr;
         GreDeleteObject( pgO->hgdiobj );
@@ -146,8 +147,9 @@
     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;




More information about the Ros-diffs mailing list