From 2198fc6a4ab3ba565802a9012e693a8ba16080bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tinja=20Paavosepp=C3=A4?= Date: Thu, 16 Nov 2023 13:32:07 +0200 Subject: [PATCH] Android: Fix broken insertNativeView() signature Method is trying to infer the signature from the types of the arguments, but since the argument for the view is a plain jobject this signature is wrong, method is not found and the view is never inserted. Change-Id: I3cbf9bccbcb1e5526f843213ba0f66e5bd1e7107 Reviewed-by: Assam Boudjelthia --- src/plugins/platforms/android/androidjnimain.cpp | 2 +- src/plugins/platforms/android/androidjnimain.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 2cbd35e019a..1eed40df4c7 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -340,7 +340,7 @@ namespace QtAndroid return surfaceId; } - int insertNativeView(jobject view, const QRect &geometry) + int insertNativeView(QtJniTypes::View view, const QRect &geometry) { m_surfacesMutex.lock(); jint surfaceId = generateViewId(); diff --git a/src/plugins/platforms/android/androidjnimain.h b/src/plugins/platforms/android/androidjnimain.h index 57654431908..672aca19273 100644 --- a/src/plugins/platforms/android/androidjnimain.h +++ b/src/plugins/platforms/android/androidjnimain.h @@ -28,6 +28,7 @@ class QBasicMutex; Q_DECLARE_JNI_CLASS(QtActivityDelegate, "org/qtproject/qt/android/QtActivityDelegate") Q_DECLARE_JNI_CLASS(QtInputDelegate, "org/qtproject/qt/android/QtInputDelegate") +Q_DECLARE_JNI_CLASS(View, "android/view/View"); namespace QtAndroid { @@ -37,7 +38,7 @@ namespace QtAndroid void setQtThread(QThread *thread); int createSurface(AndroidSurfaceClient * client, const QRect &geometry, bool onTop, int imageDepth); - int insertNativeView(jobject view, const QRect &geometry); + int insertNativeView(QtJniTypes::View view, const QRect &geometry); void setViewVisibility(jobject view, bool visible); void setSurfaceGeometry(int surfaceId, const QRect &geometry); void destroySurface(int surfaceId);