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/obj... ============================================================================== --- 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!