Sorry guys! Would have anyone know that Abiword calls GdiFlush every second.

svn path=/trunk/; revision=30211
This commit is contained in:
James Tabor 2007-11-06 02:33:38 +00:00
parent 6492c8da81
commit 06ccf45dd1

View file

@ -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!