From da1516e5b4a2d5fc3445deb11af8fe67921099e7 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 28 Sep 2007 11:46:18 +0930 Subject: 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... --- src/PointerDevice.cpp | 5 +++-- 1 file 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); -- cgit v1.2.3