Closed Bug 175599 (MousewheelAvalanche) Opened 23 years ago Closed 23 years ago

MouseWheel: Multiple mousewheel events

Categories

(Core :: XUL, defect)

x86
Windows 98
defect
Not set
normal

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: paolo.marani, Assigned: bryner)

Details

(Keywords: helpwanted)

Attachments

(3 files)

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?
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
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.
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.
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.
Status: UNCONFIRMED → NEW
Ever confirmed: true
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 together. 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).
This image is as SPY++ moz window trace after a few mousewheel turn, it's evident the avalance propagation of 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.
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.
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: http://lxr.mozilla.org/seamonkey/search?string=WM_MOUSEWHEEL
hohooooo... what a mess for handle this damn WM_MOUSEWHEEL ... http://lxr.mozilla.org/seamonkey/source/widget/src/windows/nsWindow.cpp#4565 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 ? Regards,
Keywords: qawanted
Keywords: qawantedhelpwanted
-> bryner
Assignee: jaggernaut → bryner
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.
Status: NEW → RESOLVED
Closed: 23 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) V.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: