Bug 175599 (MousewheelAvalanche)

MouseWheel: Multiple mousewheel events




16 years ago
16 years ago


(Reporter: paolo.marani, Assigned: bryner)



Windows 98

Firefox Tracking Flags

(Not tracked)



(3 attachments)



16 years ago
It happens VERY often that a single hit of the mousewheel generates a
nonstoppable scroll to the end of the document, hitting once more the mousewheel
can reverse the scrolling direction, but can't be interrupted until the end (or
start) of page is reached. It seems like a single mouseweel event generate a
cascade of hundreds of line movement, when the page reach the end all other
spurious scroll events are "eaten" and the mouseweel start to behave normally
again.. Please someone fix this, it happens with logitech wheel mouse, latest
driver, mozilla builds from 1.0 to 1.2b. Thank you
Hm, Wfm Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2b) Gecko/20021016
Logitech Wheel Mouse (optical) Perhaps you have disabled/enabled the Office
compatible scrolling in the mouseware?

Comment 2

16 years ago
Those below are my mouse options...

Logitech driver 9.73
Use only MS office compatible scroll: NO
Scroll Size: 1 line

Should the Office/compatible scroll option make any difference ?
Any other software i've installed is working fine with wheel.

The bug appear more often after a new page is loaded 
(i.e. the first time after following a link that point to a long page)
It's like some sort of "inertia" of the wheel.
"hould the Office/compatible scroll option make any difference ?"

I saw 2 Applications that had problems with that option. HAve you already tried
to turn it on?
Assignee: mpt → jaggernaut
Component: User Interface Design → XP Toolkit/Widgets
QA Contact: zach → jrgm

Comment 5

16 years ago
I'v not tried to turn it on yet, anyway i'm aware of some application
that with "only office compatible MW" turned on refuses to recognize
the scroller, so i would not to be forced to do so.

What does this option is supposed to do ? 
Maybe it's a switch for some flavours of WM_XXXXX window messages ?

I'll try to enable that option, test a while and report back if 
the wheel super-inertia happens again.

Comment 6

16 years ago
No hope, even with office compatible scrolling the wheel 
sometimes jump 100.000+ lines per turn instead of only one.
It happens occasionally, expecially after a page load, and if
i turn the wheel while cpu is particulary busy (as after the
page load itself). It's very ugly, i'll try in another PC to
understand if it's related to logitech mices or not.

Comment 7

16 years ago
I have found a testcase for replicating 100%
the MouseWheel "inertia" bug.

1) Load a long url page, i.e. www.tomshardware.com
2) Move the mouse from upper side down vertically at slow constant speed
3) *While* the mouse is moving hit the the scroolweel down two or three times
4) The document automatically scroll down to the end of document (*weird*)

ANyone confirm this bug ?
No, can't really confirm this. But I'll try with the Logitech Mouse Driver
installed (i think this bug is someway caused by the mouse driver...)
Ok, i've tried now with Logitech Mouse Driver,Version 9.28 and still can't
reproduce this problem. Ok, I'll give it one more try, I'll download the newest
driver from Logitech.
Hm, this file is to big to download it via my modem. Anyway I'm setting this bug
to NEW.
Ever confirmed: true

Comment 11

16 years ago
I guess the problem can't be related to mouse driver itself, because it does not
happen with any other application running (IE6, Opera, word, excell, etc.etc.).
It's still driving me crazy.. i've got the feeling to reproduce it 100% of
the time, it consist on a technique of sending a small burst of MW actions (a
rapid roll of the whell, 4 or 5 ticks) WHILE slowly moving the mouse (and so
generating constant flow of MouseMove events)...
Maybe mousemove and WheelScroll events gets overlapped confusing the browser.
The effect is similar to another bug where you can achieve a yoyo effect simply
moving the mouse wheel when dragging the vertical scrollbar.
Can you at least confirm the latter yoyo effect ? I'm confident they are related
Best regards,
Well, for that i would have to write some javascript (that counts the events).
But anyway, with the mousewheel there is no scrolling event fired (that bug got
fixed, but it apperead now again).

Comment 13

16 years ago
Created attachment 104967 [details]
Mousewheel avalanche in mozilla 1.2b

This image is as SPY++ moz window trace after a few mousewheel turn, it's
evident the avalance propagation of events.

Comment 14

16 years ago
Created attachment 104968 [details]
Same image for IE6 mousewheel events

This image is as SPY++ IE6 window trace after a few mousewheel turn, 
Logitech driver generates exactly 2 mousewheel message for every turn.
No avalanche effect to report here.

Comment 15

16 years ago
Created attachment 104969 [details]
MouseWheel events for Netscape 4.79

This image is as SPY++ NS4.79 window trace after a few mousewheel turn, 
Logitech driver generates exactly 1 mousewheel message for every turn.
It seems that both three browsers handle mousewheel differently.

Comment 16

16 years ago
The main question is:
The event avalanche must be caused by mouse driver or there is a chance that
somewhere in the mozilla code the MW_MOUSEWHEEL message is re-posted to itself ??
Why in NS4.79 1 Turn -> 1 event, in IE6 1 Turn -> 2 Event, in Moz 1 Turn -> 3+
events ?
Why only moz window expose this avalhance behaviour and not other software ??
Well, i really hope i'm not the only one having this issue, or this will mean
that my PC have grown a mozilla-killer virus!
Alias: MousewheelAvalanche
Keywords: 4xp
Some gues from IRC is, Mozilla doesn't respond properly to the WM_MOUSEWHEEL
event and so Windows sends the event again,again and again.... Perhaps the
Assined can someone say to this problem (or the QA)?
Ok, the code position must be somewhere there:

Comment 19

16 years ago
hohooooo... what a mess for handle this damn WM_MOUSEWHEEL ...


This line FORWARD the mousewheel to child windows, they possibly send it back to
parent (main window) because it's not consumed.
There is a boolean guard for avoid reentrance, but i suspect something goes
wrong here when the WindowProc is flooded by a burst of some wheel events in
sequence AND there is at least one child window to pass the msg back.

I'm a complete newbie on mozilla building (my knowledge of C++ is far from
optimal as it's not my developing language of choice) but i think that with a
little of effort it can be debugged.

Can someone help me placing some asserts in this looping spaghetti code ?


Keywords: qawanted
Keywords: qawanted → helpwanted
-> bryner
Assignee: jaggernaut → bryner

Comment 21

16 years ago
After some research i've found a workaround to make the 
logitech MW working with mozilla.

Logitech mouse drivers have a hidden option that gets enabled only if you
select "office compatible scrolling only", the option says 
"scroll only active window".
If i set "scroll only active window" = TRUE it start working correctly,
therefore "office compatible scrolling only" must be active as well.

This behaviour is reprodicuble in Win98 systems only, on win2000 mozilla
works just fine irregardles of the mousewheel option selected.

As far as it works for me now, i've closed this bug, would be nice for
the sake of curiosity anyway to know why "scroll only active window" must
be set and what side effects it could have on other applications.
Last Resolved: 16 years ago
Resolution: --- → WORKSFORME
BTW: I tried the option out which you said, with that turned on, then the page
scrolls at once. With that turned off, Mozilla does only smooth scrolling (when
you scroll with the mouse, it starts scrolling but stops half a second later
after i dont scroll anymore with the mouse)
You need to log in before you can comment on or make changes to this bug.