diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-01-10 19:17:26 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-01-10 19:17:26 +0000 |
| commit | a0333b52d8db7e68a440236b132ffd3b7629872f (patch) | |
| tree | a46a0e23cbacd08aafb6a40f62569e9fd3aac89d /src | |
| parent | 7a95b5a949e590745a5a9a878e1386e7bd7d1b72 (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
Diffstat (limited to 'src')
| -rw-r--r-- | src/actions.cc | 11 |
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); + } } |
