]> Dogcows Code - chaz/openbox/blobdiff - openbox/keyboard.c
fix using uninit'd memory. don't use 0 keycode
[chaz/openbox] / openbox / keyboard.c
index cf56ad8f3b99c60640e273e4b0de9d13fc6d6ede..d8f35bccbcca5339ba8ca48e492216d1c7dae4b8 100644 (file)
@@ -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;
         }
This page took 0.022737 seconds and 4 git commands to generate.