From 05ada4384a4492c6f124e1825186d41f695d75c3 Mon Sep 17 00:00:00 2001 From: "hyatt%netscape.com" Date: Thu, 14 Feb 2002 02:36:19 +0000 Subject: [PATCH] Make cocoa as fast as macho. Not part of build. --- widget/src/cocoa/nsToolkit.mm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/widget/src/cocoa/nsToolkit.mm b/widget/src/cocoa/nsToolkit.mm index 8e8f40ebad13..a3d8f56a5e0c 100644 --- a/widget/src/cocoa/nsToolkit.mm +++ b/widget/src/cocoa/nsToolkit.mm @@ -96,7 +96,7 @@ static PRUintn gToolkitTLSIndex = 0; mEventQueueService = service.get(); NS_IF_ADDREF(mEventQueueService); - mEventTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(eventTimer:) userInfo:nil + mEventTimer = [NSTimer scheduledTimerWithTimeInterval:0.005 target:self selector:@selector(eventTimer:) userInfo:nil repeats:YES]; NS_ASSERTION(mEventTimer, "UH OH! couldn't create periodic event processing timer"); @@ -129,14 +129,20 @@ printf("shutting down event queue\n"); // // Called periodically to process PLEvents from the queue on the current thread // + +#define LOOP_THRESHOLD 10 + - (void)eventTimer:(NSTimer *)theTimer { if ( mEventQueueService ) { nsCOMPtr queue; mEventQueueService->GetThreadEventQueue(NS_CURRENT_THREAD, getter_AddRefs(queue)); if (queue) { - nsresult rv = queue->ProcessPendingEvents(); - NS_ASSERTION(NS_SUCCEEDED(rv), "Error processing PLEvents"); + nsresult rv = NS_OK; + for (PRInt32 i = 0; i < LOOP_THRESHOLD; i++) { + queue->ProcessPendingEvents(); + NS_ASSERTION(NS_SUCCEEDED(rv), "Error processing PLEvents"); + } } }