X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fkeyboard.c;h=cef0dfd68364179545010102d024c43a8b416e56;hb=261d3193c5258126fda8234a3305180066f0f939;hp=1f509f77ff8c5e61aa0544690053f95faea16b3d;hpb=506fa94dc74c34ee90af19353184029a76d206e4;p=chaz%2Fopenbox diff --git a/openbox/keyboard.c b/openbox/keyboard.c index 1f509f77..cef0dfd6 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -186,12 +186,15 @@ gboolean keyboard_process_interactive_grab(const XEvent *e, s->action->func(&s->action->data); - grab_keyboard(FALSE); - grab_pointer(FALSE, OB_CURSOR_NONE); - keyboard_reset_chains(); - g_free(s); + interactive_states = g_slist_delete_link(interactive_states, it); + if (!interactive_states) { + grab_keyboard(FALSE); + grab_pointer(FALSE, OB_CURSOR_NONE); + keyboard_reset_chains(); + } + handled = TRUE; } }