Cursor not re-appearing after toggling with SDL_ShowCursor()

Hi,

I’ve been seeing some strange behaviour of SDL_ShowCursor() while
getting my Quake port up and running with SDL2. Basically when running
the game in windowed mode, I’m trying to release the cursor whenever
the mouse is not being used (menu or command console active).

The problem I’m seeing is that the mouse cursor doesn’t re-appear when
I call ShowCursor(SDL_ENABLE). That is, it doesn’t appear
immediately. It seems to require that I move the (invisible) pointer
across the window boundary before it triggers the cursor to become
visible again. I’ve only been testing this on OS X 10.8.2 and the
SDL-2.0.0-6713 snapshot.

I’ve attached a small test program which shows the same issues. Any
thoughts? Hopefully I’ll have time to test on Win32 and Linux over the
weekend as well.

Any thoughts on what the issue might be?

Thanks,
Kevin.
-------------- next part --------------
A non-text attachment was scrubbed…
Name: hidecursor.c
Type: text/x-c
Size: 2861 bytes
Desc: not available
URL: http://lists.libsdl.org/pipermail/sdl-libsdl.org/attachments/20121214/681c1392/attachment.bin

Win32 and Linux are fine, so it seems it’s just an OS X issue (also
tested on 10.5.8 PPC, same result). Will dig around and see what I can
find out, but I’m pretty new to OS X.On Fri, Dec 14, 2012 at 01:54:56PM +1030, Kevin Shanahan wrote:

I’ve been seeing some strange behaviour of SDL_ShowCursor() while
getting my Quake port up and running with SDL2. Basically when running
the game in windowed mode, I’m trying to release the cursor whenever
the mouse is not being used (menu or command console active).

The problem I’m seeing is that the mouse cursor doesn’t re-appear when
I call ShowCursor(SDL_ENABLE). That is, it doesn’t appear
immediately. It seems to require that I move the (invisible) pointer
across the window boundary before it triggers the cursor to become
visible again. I’ve only been testing this on OS X 10.8.2 and the
SDL-2.0.0-6713 snapshot.

I’ve attached a small test program which shows the same issues. Any
thoughts? Hopefully I’ll have time to test on Win32 and Linux over the
weekend as well.