Author: jimtabor
Date: Tue Nov 6 05:33:38 2007
New Revision: 30211
URL: http://svn.reactos.org/svn/reactos?rev=30211&view=rev
Log:
Sorry guys! Would have anyone know that Abiword calls GdiFlush every second.
Modified:
trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c
Modified: trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
==============================================================================
--- trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c (original)
+++ trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c Tue Nov 6 05:33:38 2007
@@ -65,8 +65,6 @@
APIENTRY
NtGdiFlush(VOID)
{
- // Hack! FIXME!
- NtYieldExecution(); // Force thread to sunset and run the flush.
UNIMPLEMENTED;
}
@@ -83,15 +81,15 @@
{
PTEB pTeb = NtCurrentTeb();
ULONG GdiBatchCount = pTeb->GdiBatchCount;
-
- if( (GdiBatchCount > 0) && (GdiBatchCount <= GDIBATCHBUFSIZE))
+
+ if( (GdiBatchCount > 0) && (GdiBatchCount <= (GDIBATCHBUFSIZE/4)))
{
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))
+ if ((hDC) || ((!hDC) && (GdiBatchCount >= GDI_BATCH_LIMIT)))
{
PULONG pHdr = &pTeb->GdiTebBatch.Buffer[0];
// No need to init anything, just go!