- if (!interactive_states) {
- grab_pointer(TRUE, FALSE, OB_CURSOR_POINTER);
- if (!grab_keyboard(TRUE)) {
- grab_pointer(FALSE, FALSE, OB_CURSOR_NONE);
- return FALSE;
- }
- }
-
- s = g_new(ObInteractiveState, 1);
-
- s->state = state;
- s->client = client;
- s->actions = g_slist_append(NULL, action);