Build ID: 1999062114 Platform: Mac OS 8.6 (Problem does not reproduce under NT) To reproduce: - Launch apprunner - Load the above URL (or delta-air.com if outside Netscape) - Click and hold on the menu to drop it down - Move mouse away from menu and release to return menu to its original state without making a selection - Now, move the mouse over the menu without clicking. As the mouse is over the menu, it highlights. Expected result: it doesn't highlight.
This is an odd one. I don't know why menu controls would hilite like this. Do any other widgets have this behavior? When we go to GFX widgets, this will probably disappear.
I haven't tested it at all but I suggest setting mWidgetArmed to PR_FALSE after calling ::TrackControl() in nsComboBox::DispatchMouseEvent(). You may have to do the same thing after ::LClick() in nsListBox::DispatchMouseEvent() and maybe (I'm really not sure) after ::TrackControl() in nsScrollbar::DispatchMouseEvent().
Temporarily fixing this by NOT passing the NS_MOUSE_LEFT_BUTTON_DOWN up the chain, so the control won't be waiting for a matching NS_MOUSE_LEFT_BUTTON_UP event. I want to ask the DOM folks what the risks are of doing this, but it does fix the problem.
Resolved by passing the NS_MOUSE_LEFT_BUTTON_DOWN up to the superclass, using TrackControl, and then simply simulating NS_MOUSE_LEFT_BUTTON_UP event afterwards. This same pattern should be appropriate for lists as well.
With the latest build (7/26) 1999072608, the problem is fixed.