we should re-focus the client and ungrab the ptr even if we don't have a

mouse based match (i.e. in the kbd no match case).  update the comment
as well.

ok oga@
This commit is contained in:
okan 2011-03-22 11:09:52 +00:00
parent 9c587d9725
commit e28a7f832e

10
menu.c
View File

@ -171,13 +171,14 @@ menu_filter(struct screen_ctx *sc, struct menu_q *menuq, char *prompt,
}
}
out:
if (dummy == 0 && mi->dummy) { /* no match */
xfree (mi);
if (dummy == 0 && mi->dummy) { /* no mouse based match */
xfree(mi);
mi = NULL;
xu_ptr_ungrab();
XSetInputFocus(X_Dpy, focuswin, focusrevert, CurrentTime);
}
XSetInputFocus(X_Dpy, focuswin, focusrevert, CurrentTime);
xu_ptr_ungrab();
XUnmapWindow(X_Dpy, sc->menuwin);
XUngrabKeyboard(X_Dpy, CurrentTime);
@ -390,7 +391,6 @@ menu_handle_release(XEvent *e, struct menu_ctx *mc, struct screen_ctx *sc,
int entry, i = 0;
entry = menu_calc_entry(sc, mc, e->xbutton.x, e->xbutton.y);
xu_ptr_ungrab();
if (mc->hasprompt)
i = 1;