From 06ccf45dd15280432e0787e5a1fe2fd70db4d7fa Mon Sep 17 00:00:00 2001 From: James Tabor Date: Tue, 6 Nov 2007 02:33:38 +0000 Subject: [PATCH] Sorry guys! Would have anyone know that Abiword calls GdiFlush every second. svn path=/trunk/; revision=30211 --- reactos/subsystems/win32/win32k/objects/gdibatch.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/reactos/subsystems/win32/win32k/objects/gdibatch.c b/reactos/subsystems/win32/win32k/objects/gdibatch.c index c6261508d73..7e724d2fbeb 100644 --- a/reactos/subsystems/win32/win32k/objects/gdibatch.c +++ b/reactos/subsystems/win32/win32k/objects/gdibatch.c @@ -65,8 +65,6 @@ VOID APIENTRY NtGdiFlush(VOID) { - // Hack! FIXME! - NtYieldExecution(); // Force thread to sunset and run the flush. UNIMPLEMENTED; } @@ -83,15 +81,15 @@ NtGdiFlushUserBatch(VOID) { 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!