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
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: