X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fkeyboard.c;h=84ae2a38e2d25f7eac85b6c4f74644502b2c1641;hb=65d50861ada11f5409680de285f461f16e78c090;hp=d8f35bccbcca5339ba8ca48e492216d1c7dae4b8;hpb=a3f8c5c45a1ff323fc088cc5af49ab48d5679e54;p=chaz%2Fopenbox diff --git a/openbox/keyboard.c b/openbox/keyboard.c index d8f35bcc..84ae2a38 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -195,14 +195,15 @@ static void keyboard_interactive_end(guint state, gboolean cancel, Time time, g_assert(istate.active); + /* ungrab first so they won't be NotifyWhileGrabbed */ + if (ungrab) + grab_keyboard(FALSE); + alist = g_slist_append(NULL, istate.action); action_run_interactive(alist, istate.client, state, time, cancel, TRUE); g_slist_free(alist); istate.active = FALSE; - - if (ungrab) - grab_keyboard(FALSE); } static void keyboard_interactive_end_client(ObClient *client, gpointer data)