diff options
author | BogDan Vatra <bogdan@kdab.com> | 2017-12-15 14:45:17 +0200 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2018-04-15 18:00:51 +0000 |
commit | 5e8b16f0e4247cc978b08480450526cfa3b25029 (patch) | |
tree | da73d9e1a459f869c63d32147e6aa6d4816f28c8 /src/plugins/platforms/android/androidjniinput.cpp | |
parent | 8379186009bc9d0a9ef6309c7508fd529b7eec12 (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.cpp | 14 |
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(); |