Mouse Wheel - Patch

Inspected the code - yep, that’s what it does. SDL_GetMouseState() was
reported as ‘sticking’ after the first wheel motion, this fits with no
RELEASED messages being generated.

I have simply posted an additional RELEASED message, immediately after
the PRESSED message - this seems to work OK.

Yep, that’s the right fix, and I’ve added it to CVS. Thanks John!

-Sam Lantinga, Software Engineer, Blizzard Entertainment

Hi,

Went out and bought a USB wheel mouse. Installed it on Windows and Linux.
Compiled SDL on Linux, RedHat 7.0 heavily patched (Ouch!)
Ran the “testwm” application.

When the mouse wheel is used, a series of MouseButton PRESSED/ RELEASED
messages are sent. On Win9X/2K only MouseButton PRESSED messages
are sent.

Inspected the code - yep, that’s what it does. SDL_GetMouseState() was
reported as ‘sticking’ after the first wheel motion, this fits with no
RELEASED messages being generated.

I have simply posted an additional RELEASED message, immediately after
the PRESSED message - this seems to work OK.

I don’t know enough about the way the event queue works to know if this
is safe or not, but I would think so,

Ooooh! Thanks so much for fixing this, I do not know my way around event
the SDL source, win32 api, etc. to fix this, and I was extremely puzzled
as to why the Linux version worked perfectly while the win32 version
exhibited odd behavior at best.

I’ll test this when I get home tonight to see what my results are,
I’m sure it’s fixed for me too, but I’ll make doubly sure :slight_smile:

cheers,
John Popplewell.
PS changes in “SDL_sysevents.c” and “SDL_dx5events.c” [patch enclosed]

Again thanks!

-EvilTypeGuy
Project Twilight Developer – http://twilight.sf.netOn Mon, Apr 08, 2002 at 09:55:18AM +0100, John Popplewell wrote: