X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fkeyboard.c;h=d8f35bccbcca5339ba8ca48e492216d1c7dae4b8;hb=481e68112177d1a1c0eb920f37c372ea34eeb371;hp=cf56ad8f3b99c60640e273e4b0de9d13fc6d6ede;hpb=9a9e3f6bf6be75094636e37d54fb16e4456b43be;p=chaz%2Fopenbox diff --git a/openbox/keyboard.c b/openbox/keyboard.c index cf56ad8f..d8f35bcc 100644 --- a/openbox/keyboard.c +++ b/openbox/keyboard.c @@ -78,9 +78,11 @@ static gboolean chain_timeout(gpointer data) static void set_curpos(KeyBindingTree *newpos) { - grab_keys(FALSE); - curpos = newpos; - grab_keys(TRUE); + if (curpos != newpos) { + grab_keys(FALSE); + curpos = newpos; + grab_keys(TRUE); + } if (curpos != NULL) { gchar *text = NULL; @@ -247,7 +249,7 @@ gboolean keyboard_process_interactive_grab(const XEvent *e, ObClient **client) handled = TRUE; } } else if (e->type == ButtonPress) { - cancel = FALSE; + cancel = TRUE; done = TRUE; handled = FALSE; }