From 1fc2602499d43d6e563a1281f8e13405000849ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20L=C3=BCbking?= <thomas.luebking@gmail.com>
Date: Tue, 20 Sep 2016 22:59:19 +0200
Subject: [PATCH] "the least oversight" #1

The fixes a permanent (sync) button grab.

Well, oversaw global buttonpresses.
Let's wait for more to come ;-)
---
 src/Screen.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/Screen.cc b/src/Screen.cc
index a4a0922e..1205d79e 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -689,8 +689,12 @@ void BScreen::buttonPressEvent(XButtonEvent &be) {
         imageControl().installRootColormap();
 
     Keys *keys = Fluxbox::instance()->keys();
-    keys->doAction(be.type, be.state, be.button, Keys::GLOBAL|Keys::ON_DESKTOP,
-                   0, be.time);
+    if (keys->doAction(be.type, be.state, be.button, Keys::GLOBAL|Keys::ON_DESKTOP,
+                   0, be.time)) {
+        XAllowEvents(Fluxbox::instance()->display(), SyncPointer, CurrentTime);
+    } else {
+        XAllowEvents(Fluxbox::instance()->display(), ReplayPointer, CurrentTime);
+    }
 }
 
 void BScreen::cycleFocus(int options, const ClientPattern *pat, bool reverse) {