diff options
author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-09-28 11:46:18 +0930 |
---|---|---|
committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-10-03 09:03:49 +0930 |
commit | da1516e5b4a2d5fc3445deb11af8fe67921099e7 (patch) | |
tree | b823f82caf826252e719a38382a1b697ff0cff2a | |
parent | e75d7daeb589147c1df70c3b61f10ecabea0f83d (diff) |
Register for release event on button close.
Since we're only handling release events on the button, it might be a good
idea to also register for them...
-rw-r--r-- | src/PointerDevice.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/PointerDevice.cpp b/src/PointerDevice.cpp index 48d60ae..c819877 100644 --- a/src/PointerDevice.cpp +++ b/src/PointerDevice.cpp @@ -117,7 +117,8 @@ bool PointerDevice::dragOn(WMWindow* win, int x, int y) // in case we get out of the window we still need to catch the release XEventClass classes[2] = {evclasses[XI_MotionNotify], evclasses[XI_ButtonRelease]}; XSelectExtensionEvent(x11->dpy, x11->root, classes, 2); - XGrabDevice(x11->dpy, this->dev, win->getWindowBar(), False, 2, classes, GrabModeAsync, GrabModeAsync, CurrentTime); + XGrabDevice(x11->dpy, this->dev, win->getWindowBar(), True, 2, + classes, GrabModeAsync, GrabModeAsync, CurrentTime); return true; } @@ -197,7 +198,7 @@ void PointerDevice::setWMEvents(WMWindow* window) XSelectExtensionEvent(x11->dpy, window->getWindowBar(), &classes[0], 3); //XSelectExtensionEvent(x11->dpy, window->getResizeBar(), &classes[0], 3); - XSelectExtensionEvent(x11->dpy, window->getButtonClose(), &classes[1], 1); + XSelectExtensionEvent(x11->dpy, window->getButtonClose(), &classes[2], 1); XSelectExtensionEvent(x11->dpy, window->getButtonFloor(), &classes[1], 1); XSelectExtensionEvent(x11->dpy, window->getButtonOverlay(), &classes[1], 1); XSelectExtensionEvent(x11->dpy, window->getButtonMinimize(), &classes[1], 1); |