Re: [MacPerl-Toolbox] The Camel and his confounded Ball

[email protected] (Alan Fry) Wed, 12 Jun 2002 16:01:32 +0100
Newsgroups perl.macperl.toolbox
Message-ID <p05100302b92d064567be@[158.152.146.73]>
At 6:59 am -0400 12/06/02, Chris Nandor wrote:
>Sure.
>
>I have no idea offhand what to do about it, so anyone else with an idea is
>more than welcome to submit a patch.  :)

I think -- but am far from sure -- that it all happens is in this 
part of the MainEvent loop in MPMain.c

	......

	now = LMGetTicks();
	if (spinning = busy) {
		if (now - lastNonBusy < (
                     gInBackground ? BACK_BUSY_WAIT : FRONT_BUSY_WAIT))
			spinning = false;
	} else
		lastNonBusy = now;

	if (gMacPerl_InModalDialog) {
		events = activMask | updateMask | highLevelEventMask | osMask;
		spinning = false;
	}

	MaintainMenuBar();

	if (spinning) {
		if (now-lastBusySpin < 3)
			return;

		lastBusySpin = now;
		RotateCursor(32);

		if (now - lastWNE < (
                     gInBackground ? BACK_FREQUENCY : FRONT_FREQUENCY))
			return;
	} else
		MaintainCursor();

	lastWNE = now;
	gGotEof = nil;

	......

'FRONT_BUSY_WAIT' is defined as 120 (presumably 'ticks'?) which 
stacks up with the 2 second delay before the spin-cursor kicks in.

Any ideas on how to tackle this?

Alan Fry