summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/android/qandroidplatformintegration.cpp
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2023-11-21 21:43:57 +0200
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2023-11-27 21:43:36 +0200
commitd48e81f7a46e7cf968fa5bc88296eb8de8dc77c5 (patch)
treed3cfd4d53668c23e402badb2ad779f5953d01a27 /src/plugins/platforms/android/qandroidplatformintegration.cpp
parent8c14b0c02f3e4b06a9aa4ea7608360149be4a50f (diff)
Android: Register a default keyboard
When QWindowSystemInterface::handleKeyEvent() is called under QtAndroidInput's keyDown() JNI native method callback, it throws the following warning: W Gallery : QObject: Cannot create children for a parent that is in a different thread. W Gallery : (Parent is QGuiApplication(0x707968a2e0), parent's thread is QThread(0x70d6477280), current thread is QThread(0x70d18ff790) when no keyboard QInputDevice has been registered, this behavior is present at least on Android Emulators. Task-number: QTBUG-46412 Fixes: QTBUG-106928 Fixes: QTBUG-118421 Change-Id: Iec1c6e3a599e1e553d049df3021653a0d4197e7d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformintegration.cpp')
-rw-r--r--src/plugins/platforms/android/qandroidplatformintegration.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp
index abe1a14c469..f3a5e4247f8 100644
--- a/src/plugins/platforms/android/qandroidplatformintegration.cpp
+++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp
@@ -270,6 +270,10 @@ QAndroidPlatformIntegration::QAndroidPlatformIntegration(const QStringList &para
maxTouchPoints,
0);
QWindowSystemInterface::registerInputDevice(m_touchDevice);
+
+ QWindowSystemInterface::registerInputDevice(
+ new QInputDevice("Virtual keyboard"_L1, 0, QInputDevice::DeviceType::Keyboard,
+ {}, qApp));
}
auto contentResolver = javaActivity.callObjectMethod("getContentResolver", "()Landroid/content/ContentResolver;");