Closed Bug 346108 Opened 18 years ago Closed 18 years ago

Tracking native menus and scrollbars stops the app dead in its tracks

Categories

(Core Graveyard :: Widget: Mac, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 338225

People

(Reporter: mark, Assigned: mark)

Details

Attachments

(1 file)

The new thread manager was supposed to take care of problems like this, but it didn't do the trick the whole way on the Mac because of Apple internal brain-death.  When we call MenuSelect (to track native menu use) or TrackControl (to track native control use, only scrollbars in our case), or when we use the Cocoa equivalents, the system enters its own tracking loop during which we do not process any Gecko events.
Attached patch Patch <v1Splinter Review
We may be able to do something here with run loop modes.  I also found that event loop timers fire while in MenuSelect, and wrote this implementation to provide good UI response while still allowing Gecko events to be processed.

(Note: the crusty menu rebuild code is only sorta-dynamic, so any approach taken here would need to make sure that bad things can't happen if the menus change while in tracking.)
Run loop mode is OK.  I forgot that we turned off the clever solution from bug 337824 that was supposed to handle this case.  Never mind...

*** This bug has been marked as a duplicate of 338225 ***
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: