summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/androidjniinput.cpp
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2017-12-15 14:45:17 +0200
committerBogDan Vatra <bogdan@kdab.com>2018-04-15 18:00:51 +0000
commit5e8b16f0e4247cc978b08480450526cfa3b25029 (patch)
treeda73d9e1a459f869c63d32147e6aa6d4816f28c8 /src/plugins/platforms/android/androidjniinput.cpp
parent8379186009bc9d0a9ef6309c7508fd529b7eec12 (diff)
Release left button before showing the popup context menu
If we release the left button after the popup context menu is visible, the left button will hide the menu immediately. Change-Id: Ie6edf85beb683fd83247e90e7edb4faa5aff6d35 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/androidjniinput.cpp')
-rw-r--r--src/plugins/platforms/android/androidjniinput.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp
index a714a56338..b36222502d 100644
--- a/src/plugins/platforms/android/androidjniinput.cpp
+++ b/src/plugins/platforms/android/androidjniinput.cpp
@@ -196,6 +196,20 @@ namespace QtAndroidInput
angleDelta);
}
+ void releaseMouse(int x, int y)
+ {
+ m_ignoreMouseEvents = true;
+ QPoint globalPos(x,y);
+ QWindow *tlw = topLevelWindowAt(globalPos);
+ QPoint localPos = tlw ? (globalPos-tlw->position()) : globalPos;
+
+ // Release left button
+ QWindowSystemInterface::handleMouseEvent(tlw,
+ localPos,
+ globalPos,
+ Qt::MouseButtons(Qt::NoButton));
+ }
+
static void longPress(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/, jint x, jint y)
{
QAndroidInputContext *inputContext = QAndroidInputContext::androidInputContext();