diff options
author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2024-03-04 18:33:07 +0100 |
---|---|---|
committer | Rami Potinkara <rami.potinkara@qt.io> | 2024-03-06 13:00:19 +0000 |
commit | 10afa38aa44231b3617984fdbca66d9699e2825f (patch) | |
tree | b06218609e4eccde673013a01f703ca44a244a5d /tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt | |
parent | 8103d29e94f90131ee0ad69fc312c1e62e74a6a9 (diff) |
JNI: Fix error with overload resolution when passing string types
The variadic templates are supposed to be removed from the
overload set when any of the parameters is a literal string type,
as otherwise we get conflicts with the legacy overload taking
class names and signatures as const char *. The detection of
a literal string types was missing a few specializations, so that
we ended up with the wrong overload being called, and class
names getting interpreted as method names instead.
Add the missing specializations, and add more test coverage
for using the old overloads.
Task-number: QTBUG-122235
Pick-to: 6.7
Change-Id: I5488f2009c8f62d74fac6754844f57cf64011414
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Lauri Pohjanheimo <lauri.pohjanheimo@qt.io>
Diffstat (limited to 'tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt')
-rw-r--r-- | tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java b/tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java index 48b456a4a3..faa33a6bac 100644 --- a/tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java +++ b/tests/auto/corelib/kernel/qjniobject/testdata/src/org/qtproject/qt/android/testdata/QtJniObjectTestClass.java @@ -128,6 +128,9 @@ public class QtJniObjectTestClass public String stringMethod() { return staticStringMethod(); } // -------------------------------------------------------------------------------------------- + public static String staticEchoMethod(String value) { return value; } + + // -------------------------------------------------------------------------------------------- public static Throwable staticThrowableMethod() { return A_THROWABLE_OBJECT; } public Throwable throwableMethod() { return staticThrowableMethod(); } |