when ignoring enter events, only ignore up to the current serial (NextRequest()-1...
[mikachu/openbox.git] / openbox / event.c
index 7d24640..535e9f1 100644 (file)
@@ -1952,7 +1952,13 @@ static void event_ignore_enter_range(gulong start, gulong end)
 
 void event_end_ignore_all_enters(gulong start)
 {
-    event_ignore_enter_range(start, NextRequest(ob_display));
+    /* Use (NextRequest-1) so that we ignore up to the current serial only.
+       Inside event_ignore_enter_range, we increment the serial by one, but if
+       we ignore that serial too, then any enter events generated by mouse
+       movement will be ignored until we create some further network traffic.
+       Instead ignore up to NextRequest-1, then when we increment the serial,
+       we will be *past* the range of ignored serials */
+    event_ignore_enter_range(start, NextRequest(ob_display)-1);
 }
 
 static gboolean is_enter_focus_event_ignored(XEvent *e)