diff options
-rw-r--r-- | src/plugins/platforms/xcb/qxcbdrag.cpp | 6 | ||||
-rw-r--r-- | src/plugins/platforms/xcb/qxcbdrag.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/platforms/xcb/qxcbdrag.cpp b/src/plugins/platforms/xcb/qxcbdrag.cpp index 247b2c991b..1a2de82fd3 100644 --- a/src/plugins/platforms/xcb/qxcbdrag.cpp +++ b/src/plugins/platforms/xcb/qxcbdrag.cpp @@ -484,6 +484,12 @@ void QXcbDrag::move(const QMouseEvent *me) void QXcbDrag::drop(const QMouseEvent *event) { QBasicDrag::drop(event); + + if (heartbeat != -1) { + killTimer(heartbeat); + heartbeat = -1; + } + if (!current_target) return; diff --git a/src/plugins/platforms/xcb/qxcbdrag.h b/src/plugins/platforms/xcb/qxcbdrag.h index ef277e7eec..99c1e2d78f 100644 --- a/src/plugins/platforms/xcb/qxcbdrag.h +++ b/src/plugins/platforms/xcb/qxcbdrag.h @@ -143,7 +143,7 @@ private: xcb_window_t current_proxy_target; QXcbScreen *current_screen; - + // timer used when target wants "continuous" move messages (eg. scroll) int heartbeat; QVector<xcb_atom_t> drag_types; |