Open GoogleCodeExporter opened 9 years ago
Ok, I've done quite a lot of research and tinkering, and I've finally figured
out why
this is happening. I've even created an SVN patch for my solution. It's ugly
but it
works
With respect to the OnMouseWheel event on line 3377 of EditViewControl.cs (r508)
The MSDN documentation states that the normal mouse delta is 120. On my Server
2003
VM, e.delta was either 120 or a factor of: (120, 240, etc). With a value of
120 or
greater, the expression e.delta/120*l evaluated to a non zero integer.
This is all well and good. However, on my Vista machine, e.delta was 30, 60,
90, or
120. With a value of less than 120, the expression mentioned above evaluated to
zero. In other words, zero lines scrolled.
I have no idea why this is. I don't know if it's my mouse driver, mouse
hardware,
Vista OS, etc. Who knows.
My patch essentially prevents the expression from evaluating to zero, ensuring
it's
always at least 1, or -1 depending on the direction the mouse wheel was
flicked.
I could have taken my mouse's delta and multiplied by 4. However, what happens
if
someone else has funky deltas like 50, 100, 150, etc? Perhaps there is a delta
multiplier somewhere in the .NET classes. *shrug*
Anyway... patch is attached.
Thanks!
Original comment by james...@gmail.com
on 4 Aug 2009 at 8:42
Attachments:
Original issue reported on code.google.com by
james...@gmail.com
on 3 Aug 2009 at 7:18