+ if (!istate.active) {
+ grab_pointer(TRUE, FALSE, OB_CURSOR_POINTER);
+ if (!grab_keyboard(TRUE)) {
+ grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
+ return FALSE;
+ }
+ } else if (action->func != istate.action->func) {
+ keyboard_interactive_end(state, FALSE, action->data.any.time, FALSE);
+ }