summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-01-10 19:17:26 +0000
committerDana Jansens <danakj@orodu.net>2003-01-10 19:17:26 +0000
commita0333b52d8db7e68a440236b132ffd3b7629872f (patch)
treea46a0e23cbacd08aafb6a40f62569e9fd3aac89d
parent7a95b5a949e590745a5a9a878e1386e7bd7d1b72 (diff)
when i get a button press on the client window, i have to manufacture the release, because i never will get one from the x server
-rw-r--r--src/actions.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/actions.cc b/src/actions.cc
index 7b538de6..309323cc 100644
--- a/src/actions.cc
+++ b/src/actions.cc
@@ -88,6 +88,17 @@ void OBActions::buttonPressHandler(const XButtonEvent &e)
if (_button) return; // won't count toward CLICK events
_button = e.button;
+
+ if (w->mcontext() == MC_Window) {
+ /*
+ Because of how events are grabbed on the client window, we can't get
+ ButtonRelease events, so instead we simply manufacture them here, so that
+ clicks/doubleclicks etc still work.
+ */
+ XButtonEvent ev = e;
+ ev.type = ButtonRelease;
+ buttonReleaseHandler(ev);
+ }
}