diff options
Diffstat (limited to 'dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch')
-rw-r--r-- | dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch b/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch deleted file mode 100644 index 1e949fc32355..000000000000 --- a/dev-qt/qtwayland/files/qtwayland-5.15.10-send-release-button-event-on-pointer-leave.patch +++ /dev/null @@ -1,68 +0,0 @@ -From 90995b07d2d4dbd12b7e527a881bf9d6158e277b Mon Sep 17 00:00:00 2001 -From: Ilya Fedin <fedin-ilja2010@ya.ru> -Date: Sun, 19 Mar 2023 10:24:59 +0400 -Subject: [PATCH] Client: Send release button event on pointer leave - -Fixes: QTBUG-97037 -Pick-to: 6.6 6.5 6.2 5.15 -Change-Id: I151239b276ab5aefe166f5615baf43dab428ce0c -Reviewed-by: David Edmundson <davidedmundson@kde.org> -(cherry picked from commit 8235fa65fe033a94e7a44322d3502f25940092ec) ---- - src/client/qwaylandinputdevice.cpp | 9 +++++++-- - src/client/qwaylandinputdevice_p.h | 1 + - 2 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp -index bc05583a..e562c7a7 100644 ---- a/src/client/qwaylandinputdevice.cpp -+++ b/src/client/qwaylandinputdevice.cpp -@@ -688,8 +688,8 @@ public: - - void QWaylandInputDevice::Pointer::pointer_leave(uint32_t time, struct wl_surface *surface) - { -+ releaseButtons(); - invalidateFocus(); -- mButtons = Qt::NoButton; - - mParent->mTime = time; - -@@ -804,6 +804,8 @@ void QWaylandInputDevice::Pointer::pointer_button(uint32_t serial, uint32_t time - default: return; // invalid button number (as far as Qt is concerned) - } - -+ mLastButton = qt_button; -+ - if (state) - mButtons |= qt_button; - else -@@ -842,10 +844,13 @@ void QWaylandInputDevice::Pointer::invalidateFocus() - - void QWaylandInputDevice::Pointer::releaseButtons() - { -+ if (mButtons == Qt::NoButton) -+ return; -+ - mButtons = Qt::NoButton; - - if (auto *window = focusWindow()) { -- ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers()); -+ ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mLastButton, mParent->modifiers()); - window->handleMouse(mParent, e); - } - } -diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h -index 5795f138..bafe3db2 100644 ---- a/src/client/qwaylandinputdevice_p.h -+++ b/src/client/qwaylandinputdevice_p.h -@@ -346,6 +346,7 @@ public: - QPointF mSurfacePos; - QPointF mGlobalPos; - Qt::MouseButtons mButtons = Qt::NoButton; -+ Qt::MouseButton mLastButton = Qt::NoButton; - #if QT_CONFIG(cursor) - wl_buffer *mCursorBuffer = nullptr; - Qt::CursorShape mCursorShape = Qt::BitmapCursor; --- -2.41.0 - |