Mouse timer uses wrong window for test

VERIFIED FIXED

Status

()

P3
normal
VERIFIED FIXED
19 years ago
10 years ago

People

(Reporter: hyatt, Assigned: rods)

Tracking

Trunk
x86
Other
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

19 years ago
(1) Launch apprunner
(2) Select the File menu and hold the mouse down. Do not let the mouse
go up.
(3) Move onto the first menu item within the File menu and start jiggling
the mouse to the left and right.

Problem: Every time you move the mouse on the menu item, an exit event
is being generated.  Thus you see the menu item selecting and deselecting
over and over again as you move the mouse on the item.

This is happening because a mouse timer proc is always doing a compare with
the top-level window rather than using the popped up view as the window
to compare with.

The combo box will presumably also exhibit this problem. Even though you
might not be using the mouse exit event internally (as I happen to be),
you should see this problem with DOM event listeners that you hooked up to
the combo box items.
(Assignee)

Comment 1

19 years ago
The key to the problem is that you are holding the mouse down (don't do that :)
), holding the mouse down does a native "mouse capture", thus messing up the
whole timer proc. I will look into it, you can always comment out the mouse
capture in nsWindow and then it work fine, but then Comboboxs won't work right.
(Assignee)

Updated

19 years ago
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Assignee)

Comment 2

19 years ago
I checked in a fix. nsWindows now track whether they are in "capture mode", and
if they are they get the window the cursor is over for the MouseTrailer instead
of the the window the event is being dispatched to. And this is exactly yhe
check the MouseTrailer is doing. I tested it out with holding the mouse down and
without holding it down and it appears to work just fine, and we aren't getting
all those exit events now.

Updated

19 years ago
Keywords: verifyme

Comment 3

18 years ago
Mass update:  changing qacontact to ckritzer@netscape.com
QA Contact: janc → ckritzer

Comment 4

18 years ago
Looks fixed to me. Verified fixed.
Status: RESOLVED → VERIFIED

Updated

10 years ago
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.