From efabc3f1c4cff9158924d4c3721470d82ea89ec9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= <christian.stromme@theqtcompany.com> Date: Wed, 5 Nov 2014 20:56:08 +0100 Subject: [PATCH] Fix use of va_list in QAndroidJniObject va_list functions where update to work on x86 where va_list is defined as char*. Change-Id: If1286a36d766b8536ca9a83ca21791d30b7b307c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com> --- src/androidextras/jni/qandroidjniobject.cpp | 66 +++++++++++---------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/src/androidextras/jni/qandroidjniobject.cpp b/src/androidextras/jni/qandroidjniobject.cpp index cadedfe..21c2c73 100644 --- a/src/androidextras/jni/qandroidjniobject.cpp +++ b/src/androidextras/jni/qandroidjniobject.cpp @@ -716,16 +716,18 @@ QT_BEGIN_NAMESPACE QAndroidJniObject::QAndroidJniObject(const char *className, const char *sig, ...) { va_list args; + QJNIObjectPrivate::QVaListPrivate vargs = { args }; va_start(args, sig); - d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(className, sig, args)); + d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(className, sig, vargs)); va_end(args); } QAndroidJniObject::QAndroidJniObject(jclass clazz, const char *sig, ...) { va_list args; + QJNIObjectPrivate::QVaListPrivate vargs = { args }; va_start(args, sig); - d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(clazz, sig, args)); + d = QSharedPointer<QJNIObjectPrivate>(new QJNIObjectPrivate(clazz, sig, vargs)); va_end(args); } @@ -757,7 +759,7 @@ void QAndroidJniObject::callMethod<void>(const char *methodName, const char *sig { va_list args; va_start(args, sig); - d->callMethod<void>(methodName, sig, args); + d->callMethodV<void>(methodName, sig, args); va_end(args); } @@ -766,7 +768,7 @@ jboolean QAndroidJniObject::callMethod<jboolean>(const char *methodName, const c { va_list args; va_start(args, sig); - jboolean res = d->callMethod<jboolean>(methodName, sig, args); + jboolean res = d->callMethodV<jboolean>(methodName, sig, args); va_end(args); return res; } @@ -776,7 +778,7 @@ jbyte QAndroidJniObject::callMethod<jbyte>(const char *methodName, const char *s { va_list args; va_start(args, sig); - jbyte res = d->callMethod<jbyte>(methodName, sig, args); + jbyte res = d->callMethodV<jbyte>(methodName, sig, args); va_end(args); return res; } @@ -786,7 +788,7 @@ jchar QAndroidJniObject::callMethod<jchar>(const char *methodName, const char *s { va_list args; va_start(args, sig); - jchar res = d->callMethod<jchar>(methodName, sig, args); + jchar res = d->callMethodV<jchar>(methodName, sig, args); va_end(args); return res; } @@ -796,7 +798,7 @@ jshort QAndroidJniObject::callMethod<jshort>(const char *methodName, const char { va_list args; va_start(args, sig); - jshort res = d->callMethod<jshort>(methodName, sig, args); + jshort res = d->callMethodV<jshort>(methodName, sig, args); va_end(args); return res; } @@ -806,7 +808,7 @@ jint QAndroidJniObject::callMethod<jint>(const char *methodName, const char *sig { va_list args; va_start(args, sig); - jint res = d->callMethod<jint>(methodName, sig, args); + jint res = d->callMethodV<jint>(methodName, sig, args); va_end(args); return res; } @@ -816,7 +818,7 @@ jlong QAndroidJniObject::callMethod<jlong>(const char *methodName, const char *s { va_list args; va_start(args, sig); - jlong res = d->callMethod<jlong>(methodName, sig, args); + jlong res = d->callMethodV<jlong>(methodName, sig, args); va_end(args); return res; } @@ -826,7 +828,7 @@ jfloat QAndroidJniObject::callMethod<jfloat>(const char *methodName, const char { va_list args; va_start(args, sig); - jfloat res = d->callMethod<jfloat>(methodName, sig, args); + jfloat res = d->callMethodV<jfloat>(methodName, sig, args); va_end(args); return res; } @@ -836,7 +838,7 @@ jdouble QAndroidJniObject::callMethod<jdouble>(const char *methodName, const cha { va_list args; va_start(args, sig); - jdouble res = d->callMethod<jdouble>(methodName, sig, args); + jdouble res = d->callMethodV<jdouble>(methodName, sig, args); va_end(args); return res; } @@ -847,7 +849,7 @@ QAndroidJniObject QAndroidJniObject::callObjectMethod(const char *methodName, { va_list args; va_start(args, sig); - QJNIObjectPrivate res = d->callObjectMethod(methodName, sig, args); + QJNIObjectPrivate res = d->callObjectMethodV(methodName, sig, args); va_end(args); return res; } @@ -962,7 +964,7 @@ void QAndroidJniObject::callStaticMethod<void>(const char *className, { va_list args; va_start(args, sig); - QJNIObjectPrivate::callStaticMethod<void>(className, methodName, sig, args); + QJNIObjectPrivate::callStaticMethodV<void>(className, methodName, sig, args); va_end(args); } @@ -974,7 +976,7 @@ void QAndroidJniObject::callStaticMethod<void>(jclass clazz, { va_list args; va_start(args, sig); - QJNIObjectPrivate::callStaticMethod<void>(clazz, methodName, sig, args); + QJNIObjectPrivate::callStaticMethodV<void>(clazz, methodName, sig, args); va_end(args); } @@ -986,7 +988,7 @@ jboolean QAndroidJniObject::callStaticMethod<jboolean>(const char *className, { va_list args; va_start(args, sig); - jboolean res = QJNIObjectPrivate::callStaticMethod<jboolean>(className, methodName, sig, args); + jboolean res = QJNIObjectPrivate::callStaticMethodV<jboolean>(className, methodName, sig, args); va_end(args); return res; } @@ -999,7 +1001,7 @@ jboolean QAndroidJniObject::callStaticMethod<jboolean>(jclass clazz, { va_list args; va_start(args, sig); - jboolean res = QJNIObjectPrivate::callStaticMethod<jboolean>(clazz, methodName, sig, args); + jboolean res = QJNIObjectPrivate::callStaticMethodV<jboolean>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1012,7 +1014,7 @@ jbyte QAndroidJniObject::callStaticMethod<jbyte>(const char *className, { va_list args; va_start(args, sig); - jbyte res = QJNIObjectPrivate::callStaticMethod<jbyte>(className, methodName, sig, args); + jbyte res = QJNIObjectPrivate::callStaticMethodV<jbyte>(className, methodName, sig, args); va_end(args); return res; } @@ -1025,7 +1027,7 @@ jbyte QAndroidJniObject::callStaticMethod<jbyte>(jclass clazz, { va_list args; va_start(args, sig); - jbyte res = QJNIObjectPrivate::callStaticMethod<jbyte>(clazz, methodName, sig, args); + jbyte res = QJNIObjectPrivate::callStaticMethodV<jbyte>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1038,7 +1040,7 @@ jchar QAndroidJniObject::callStaticMethod<jchar>(const char *className, { va_list args; va_start(args, sig); - jchar res = QJNIObjectPrivate::callStaticMethod<jchar>(className, methodName, sig, args); + jchar res = QJNIObjectPrivate::callStaticMethodV<jchar>(className, methodName, sig, args); va_end(args); return res; } @@ -1051,7 +1053,7 @@ jchar QAndroidJniObject::callStaticMethod<jchar>(jclass clazz, { va_list args; va_start(args, sig); - jchar res = QJNIObjectPrivate::callStaticMethod<jchar>(clazz, methodName, sig, args); + jchar res = QJNIObjectPrivate::callStaticMethodV<jchar>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1065,7 +1067,7 @@ jshort QAndroidJniObject::callStaticMethod<jshort>(const char *className, { va_list args; va_start(args, sig); - jshort res = QJNIObjectPrivate::callStaticMethod<jshort>(className, methodName, sig, args); + jshort res = QJNIObjectPrivate::callStaticMethodV<jshort>(className, methodName, sig, args); va_end(args); return res; } @@ -1078,7 +1080,7 @@ jshort QAndroidJniObject::callStaticMethod<jshort>(jclass clazz, { va_list args; va_start(args, sig); - jshort res = QJNIObjectPrivate::callStaticMethod<jshort>(clazz, methodName, sig, args); + jshort res = QJNIObjectPrivate::callStaticMethodV<jshort>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1091,7 +1093,7 @@ jint QAndroidJniObject::callStaticMethod<jint>(const char *className, { va_list args; va_start(args, sig); - jint res = QJNIObjectPrivate::callStaticMethod<jint>(className, methodName, sig, args); + jint res = QJNIObjectPrivate::callStaticMethodV<jint>(className, methodName, sig, args); va_end(args); return res; } @@ -1104,7 +1106,7 @@ jint QAndroidJniObject::callStaticMethod<jint>(jclass clazz, { va_list args; va_start(args, sig); - jint res = QJNIObjectPrivate::callStaticMethod<jint>(clazz, methodName, sig, args); + jint res = QJNIObjectPrivate::callStaticMethodV<jint>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1117,7 +1119,7 @@ jlong QAndroidJniObject::callStaticMethod<jlong>(const char *className, { va_list args; va_start(args, sig); - jlong res = QJNIObjectPrivate::callStaticMethod<jlong>(className, methodName, sig, args); + jlong res = QJNIObjectPrivate::callStaticMethodV<jlong>(className, methodName, sig, args); va_end(args); return res; } @@ -1130,7 +1132,7 @@ jlong QAndroidJniObject::callStaticMethod<jlong>(jclass clazz, { va_list args; va_start(args, sig); - jlong res = QJNIObjectPrivate::callStaticMethod<jlong>(clazz, methodName, sig, args); + jlong res = QJNIObjectPrivate::callStaticMethodV<jlong>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1143,7 +1145,7 @@ jfloat QAndroidJniObject::callStaticMethod<jfloat>(const char *className, { va_list args; va_start(args, sig); - jfloat res = QJNIObjectPrivate::callStaticMethod<jfloat>(className, methodName, sig, args); + jfloat res = QJNIObjectPrivate::callStaticMethodV<jfloat>(className, methodName, sig, args); va_end(args); return res; } @@ -1156,7 +1158,7 @@ jfloat QAndroidJniObject::callStaticMethod<jfloat>(jclass clazz, { va_list args; va_start(args, sig); - jfloat res = QJNIObjectPrivate::callStaticMethod<jfloat>(clazz, methodName, sig, args); + jfloat res = QJNIObjectPrivate::callStaticMethodV<jfloat>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1169,7 +1171,7 @@ jdouble QAndroidJniObject::callStaticMethod<jdouble>(const char *className, { va_list args; va_start(args, sig); - jdouble res = QJNIObjectPrivate::callStaticMethod<jdouble>(className, methodName, sig, args); + jdouble res = QJNIObjectPrivate::callStaticMethodV<jdouble>(className, methodName, sig, args); va_end(args); return res; } @@ -1182,7 +1184,7 @@ jdouble QAndroidJniObject::callStaticMethod<jdouble>(jclass clazz, { va_list args; va_start(args, sig); - jdouble res = QJNIObjectPrivate::callStaticMethod<jdouble>(clazz, methodName, sig, args); + jdouble res = QJNIObjectPrivate::callStaticMethodV<jdouble>(clazz, methodName, sig, args); va_end(args); return res; } @@ -1194,7 +1196,7 @@ QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(const char *classNam { va_list args; va_start(args, sig); - QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethod(className, + QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(className, methodName, sig, args); @@ -1209,7 +1211,7 @@ QAndroidJniObject QAndroidJniObject::callStaticObjectMethod(jclass clazz, { va_list args; va_start(args, sig); - QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethod(clazz, methodName, sig, args); + QJNIObjectPrivate res = QJNIObjectPrivate::callStaticObjectMethodV(clazz, methodName, sig, args); va_end(args); return res; } -- GitLab