summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/androidjniinput.cpp
diff options
context:
space:
mode:
authorJuha Vuolle <juha.vuolle@qt.io>2023-09-18 15:11:25 +0300
committerShawn Rutledge <shawn.rutledge@qt.io>2023-10-10 12:54:02 +0200
commit3ee57b83870567d52acc00e534ef022a6d3b150e (patch)
tree7622648e398c490192730016185e04f7f379e84a /src/plugins/platforms/android/androidjniinput.cpp
parent614e0f1daa9da2c285e2fd3868f7ebfa9837164c (diff)
Handle ACTION_POINTER_UP with tablet events
The ACTION_POINTER_UP is used when a non-primary pointer (touch, mouse stylus, eraser) goes up. Without handling this action in these cases, the table event remains in 'down' state (misses the QEvent::TabletRelease) and as a consequence when it is next put on the screen, eg. a line will be drawn to the new position (in case of a drawing application). In addition use getActionMasked() to get the action; non-masked events would contain the index of the pointer too, and wouldn't match with ACTION_POINTER_UP whose numeric value is 6. Rather the actions would be in the lines of: 261, // ACTION_POINTER_DOWN(1), 6 with getActionMasked() 517, // ACTION_POINTER_DOWN(2), 6 with getActionMasked() And so on. Pick-to: 6.6 6.5 Fixes: QTBUG-86297 Change-Id: I1b50ca4d19b611aec8a5c280ed0521e2f11797b0 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/androidjniinput.cpp')
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp
index 5cc670ab23..45a5459de4 100644
--- a/src/plugins/platforms/android/androidjniinput.cpp
+++ b/src/plugins/platforms/android/androidjniinput.cpp
@@ -312,6 +312,7 @@ namespace QtAndroidInput
Qt::MouseButtons buttons = Qt::NoButton;
switch (action) {
case 1: // ACTION_UP
+ case 6: // ACTION_POINTER_UP, happens if stylus is not the primary pointer
case 212: // stylus release while side-button held on Galaxy Note 4
buttons = Qt::NoButton;
break;