From b6f9bd988bf681b70a0b2c6890b7859930308694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gr=C3=A4=C3=9Flin?= Date: Wed, 13 Nov 2013 14:40:57 +0100 Subject: [PATCH] [kwin] Do not filter out button release events for moving clients The QWidget of the window decoration is otherwise still thinking that the button is pressed and waits for a release. Thus the next click on the decoration doesn't trigger the move mode. --- events.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/events.cpp b/events.cpp index cb003ffb3c..5056c9af80 100644 --- a/events.cpp +++ b/events.cpp @@ -260,7 +260,8 @@ bool Workspace::workspaceEvent(xcb_generic_event_t *e) if (movingClient) { if (eventType == XCB_BUTTON_PRESS || eventType == XCB_BUTTON_RELEASE) { if (movingClient->moveResizeGrabWindow() == reinterpret_cast(e)->event && movingClient->windowEvent(e)) { - return true; + // we need to pass the button release event to the decoration, otherwise Qt still thinks the button is pressed. + return eventType == XCB_BUTTON_PRESS; } } else if (eventType == XCB_MOTION_NOTIFY) { if (movingClient->moveResizeGrabWindow() == reinterpret_cast(e)->event && movingClient->windowEvent(e)) {