summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter@cs.unisa.edu.au>2007-09-28 11:46:18 +0930
committerPeter Hutterer <peter@cs.unisa.edu.au>2007-10-03 09:03:49 +0930
commitda1516e5b4a2d5fc3445deb11af8fe67921099e7 (patch)
treeb823f82caf826252e719a38382a1b697ff0cff2a
parente75d7daeb589147c1df70c3b61f10ecabea0f83d (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.cpp5
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);