Recursive SDL_WM_GrabInput()

I’d just like to be sure about this:

SDL_WM_GrabInput() is not recursive, and was never intended to be.

Correct?

What I’m asking is, can/should I rely on
SDL_WM_GrabInput(SDL_GRAB_OFF) to instantly release input even after
N unmatched SDL_WM_GrabInput(SDL_GRAB_ON) calls?

The documentation says nothing about this at all, so I assume that
means SDL_WM_GrabInput() is not recursive. However, that logic is
mostly based on the fact that a recursive implementation is usually
extra work, implying that non-recursive would be the default behavior
of everything.

Thanks,

//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
’-- http://www.reologica.se - Rheology instrumentation --’