summaryrefslogtreecommitdiff
path: root/dev-qt/qtwayland/files/qtwayland-5.15.9-fix-mouse-stuck-in-pressed-state-after-DnD.patch
blob: abeb7f7a1e5d98f175106ed8730e8c997cf724b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
From f90f19ec0155b82981046509160849f9a3aedd9b Mon Sep 17 00:00:00 2001
From: Ilya Fedin <fedin-ilja2010@ya.ru>
Date: Sun, 19 Mar 2023 10:20:11 +0400
Subject: [PATCH] Client: Fix the mouse being stuck in pressed state after DnD

I can still reproduce the problem using QtWidgets applications
on KDE Plasma 5.27. Both Windows and macOS QPA have a similar quirk
and they both send a MouseButtonRelease event rather than a MouseMove
event.

Amends f7a386eeaec8e6314c1be7de5e14e9fe3847f9ba

Task-number: QTBUG-97037
Pick-to: 6.5 6.2 5.15
Change-Id: I864a1cb68b3660d858623f943b3958f7cafbf955
Reviewed-by: David Edmundson <davidedmundson@kde.org>
(cherry picked from commit e3c74961b1c7415fd94678802ad7f8173d0be4c1)
---
 src/client/qwaylandinputdevice.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 9a0fe49d..bc05583a 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -845,7 +845,7 @@ void QWaylandInputDevice::Pointer::releaseButtons()
     mButtons = Qt::NoButton;
 
     if (auto *window = focusWindow()) {
-        MotionEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, mParent->modifiers());
+        ReleaseEvent e(focusWindow(), mParent->mTime, mSurfacePos, mGlobalPos, mButtons, Qt::NoButton, mParent->modifiers());
         window->handleMouse(mParent, e);
     }
 }
-- 
2.40.0