summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2016-07-28 13:20:41 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2016-08-01 18:20:00 +0200
commitf6fc34294f5691da8aa7ab8dc0452c6fa9036b67 (patch)
tree3b8fe9841f88aa81e2f8f2d57cbbca2c4736ca6f /src/corelib
parent6f75096afc000991111bb0fd7a7e530ce3518627 (diff)
parent0eb77c3011ee4d6bbc46dd2d40c9324e9bfcbecf (diff)
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts: configure 5.7 now supports clang on android; but dev re-worked configure src/gui/kernel/qevent.h One side renamed a parameter of a constructor; the other added an alternate constructor on the next line. Applied the rename to both for consistency. tests/auto/tools/moc/tst_moc.cpp Each side added a new test at the end. .qmake.conf Ignored 5.7's change to MODULE_VERSION. configure.json No conflict noticed by git; but changes in 5.7 were needed for the re-worked configure to accommodate 5.7's stricter handling of C++11. Change-Id: I9cda53836a32d7bf83828212c7ea00b1de3e09d2
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/global/qcompilerdetection.h33
-rw-r--r--src/corelib/io/qdatastream.h7
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp6
-rw-r--r--src/corelib/io/qtemporarydir.cpp52
-rw-r--r--src/corelib/kernel/qeventdispatcher_unix.cpp7
-rw-r--r--src/corelib/kernel/qjni.cpp300
-rw-r--r--src/corelib/kernel/qjnionload.cpp5
-rw-r--r--src/corelib/kernel/qobject.cpp4
-rw-r--r--src/corelib/kernel/qobjectdefs.h2
-rw-r--r--src/corelib/plugin/qlibrary.cpp9
-rw-r--r--src/corelib/tools/qdatetime.h4
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h12
-rw-r--r--src/corelib/tools/qtimezoneprivate.cpp5
-rw-r--r--src/corelib/tools/qtimezoneprivate_tz.cpp6
-rw-r--r--src/corelib/tools/qvector.h6
-rw-r--r--src/corelib/xml/qxmlstream.cpp4
16 files changed, 266 insertions, 196 deletions
diff --git a/src/corelib/global/qcompilerdetection.h b/src/corelib/global/qcompilerdetection.h
index c5424be035..70c9e97c13 100644
--- a/src/corelib/global/qcompilerdetection.h
+++ b/src/corelib/global/qcompilerdetection.h
@@ -557,6 +557,12 @@
* Q_COMPILER_RESTRICTED_VLA variable-length arrays, prior to __cpp_runtime_arrays
*/
+#ifdef __cplusplus
+# if __cplusplus < 201103L && !(defined(Q_CC_MSVC) && Q_CC_MSVC >= 1800)
+# error Qt requires a C++11 compiler and yours does not seem to be that.
+# endif
+#endif
+
#ifdef Q_CC_INTEL
# define Q_COMPILER_RESTRICTED_VLA
# define Q_COMPILER_VARIADIC_MACROS // C++11 feature supported as an extension in other modes, too
@@ -1023,6 +1029,33 @@
// critical definitions. (Reported as Intel Issue ID 6000117277)
# define __USE_CONSTEXPR 1
# define __USE_NOEXCEPT 1
+# elif defined(Q_CC_MSVC) && (defined(Q_CC_CLANG) || defined(Q_CC_INTEL))
+// Clang and the Intel compiler support more C++ features than the Microsoft compiler
+// so make sure we don't enable them if the MS headers aren't properly adapted.
+# ifndef _HAS_CONSTEXPR
+# undef Q_COMPILER_CONSTEXPR
+# endif
+# ifndef _HAS_DECLTYPE
+# undef Q_COMPILER_DECLTYPE
+# endif
+# ifndef _HAS_INITIALIZER_LISTS
+# undef Q_COMPILER_INITIALIZER_LISTS
+# endif
+# ifndef _HAS_NULLPTR_T
+# undef Q_COMPILER_NULLPTR
+# endif
+# ifndef _HAS_RVALUE_REFERENCES
+# undef Q_COMPILER_RVALUE_REFS
+# endif
+# ifndef _HAS_SCOPED_ENUM
+# undef Q_COMPILER_CLASS_ENUM
+# endif
+# ifndef _HAS_TEMPLATE_ALIAS
+# undef Q_COMPILER_TEMPLATE_ALIAS
+# endif
+# ifndef _HAS_VARIADIC_TEMPLATES
+# undef Q_COMPILER_VARIADIC_TEMPLATES
+# endif
# elif defined(_LIBCPP_VERSION)
// libc++ uses __has_feature(cxx_atomic), so disable the feature if the compiler
// doesn't support it. That's required for the Intel compiler 14.x or earlier on OS X, for example.
diff --git a/src/corelib/io/qdatastream.h b/src/corelib/io/qdatastream.h
index 5956f9ac40..ac58677b77 100644
--- a/src/corelib/io/qdatastream.h
+++ b/src/corelib/io/qdatastream.h
@@ -63,6 +63,9 @@ template <class Key, class T> class QMap;
#if !defined(QT_NO_DATASTREAM) || defined(QT_BOOTSTRAPPED)
class QDataStreamPrivate;
+namespace QtPrivate {
+class StreamStateSaver;
+}
class Q_CORE_EXPORT QDataStream
{
public:
@@ -193,6 +196,7 @@ private:
Status q_status;
int readBlock(char *data, int len);
+ friend class QtPrivate::StreamStateSaver;
};
namespace QtPrivate {
@@ -202,7 +206,8 @@ class StreamStateSaver
public:
inline StreamStateSaver(QDataStream *s) : stream(s), oldStatus(s->status())
{
- stream->resetStatus();
+ if (!stream->dev || !stream->dev->isTransactionStarted())
+ stream->resetStatus();
}
inline ~StreamStateSaver()
{
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 70c347978e..5c79a745fa 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -378,15 +378,13 @@ qint64 QFSFileEnginePrivate::nativeWrite(const char *data, qint64 len)
if (fileHandle == INVALID_HANDLE_VALUE)
return -1;
- qint64 bytesToWrite = DWORD(len); // <- lossy
+ qint64 bytesToWrite = len;
// Writing on Windows fails with ERROR_NO_SYSTEM_RESOURCES when
// the chunks are too large, so we limit the block size to 32MB.
- static const DWORD maxBlockSize = 32 * 1024 * 1024;
-
+ const DWORD blockSize = DWORD(qMin(bytesToWrite, qint64(32 * 1024 * 1024)));
qint64 totalWritten = 0;
do {
- DWORD blockSize = qMin<DWORD>(bytesToWrite, maxBlockSize);
DWORD bytesWritten;
if (!WriteFile(fileHandle, data + totalWritten, blockSize, &bytesWritten, NULL)) {
if (totalWritten == 0) {
diff --git a/src/corelib/io/qtemporarydir.cpp b/src/corelib/io/qtemporarydir.cpp
index 563913bc12..6e50a8513e 100644
--- a/src/corelib/io/qtemporarydir.cpp
+++ b/src/corelib/io/qtemporarydir.cpp
@@ -51,8 +51,12 @@
#include "qcoreapplication.h"
#endif
+#if !defined(Q_OS_QNX) && !defined(Q_OS_WIN) && !defined(Q_OS_ANDROID) && !defined(Q_OS_INTEGRITY)
+# define USE_SYSTEM_MKDTEMP
+#endif
+
#include <stdlib.h> // mkdtemp
-#if defined(Q_OS_QNX) || defined(Q_OS_WIN) || defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY)
+#ifndef USE_SYSTEM_MKDTEMP
#include <private/qfilesystemengine_p.h>
#endif
@@ -98,8 +102,7 @@ static QString defaultTemplateName()
return QDir::tempPath() + QLatin1Char('/') + baseName + QLatin1String("-XXXXXX");
}
-#if defined(Q_OS_QNX ) || defined(Q_OS_WIN) || defined(Q_OS_ANDROID) || defined(Q_OS_INTEGRITY)
-
+#ifndef USE_SYSTEM_MKDTEMP
static int nextRand(int &v)
{
int r = v % 62;
@@ -109,30 +112,28 @@ static int nextRand(int &v)
return r;
}
-QPair<QString, bool> q_mkdtemp(char *templateName)
+QPair<QString, bool> q_mkdtemp(QString templateName)
{
- static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
+ Q_ASSERT(templateName.endsWith(QLatin1String("XXXXXX")));
- const size_t length = strlen(templateName);
+ static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- char *XXXXXX = templateName + length - 6;
+ const int length = templateName.size();
- Q_ASSERT((length >= 6u) && strncmp(XXXXXX, "XXXXXX", 6) == 0);
+ QChar *XXXXXX = templateName.data() + length - 6;
for (int i = 0; i < 256; ++i) {
int v = qrand();
/* Fill in the random bits. */
- XXXXXX[0] = letters[nextRand(v)];
- XXXXXX[1] = letters[nextRand(v)];
- XXXXXX[2] = letters[nextRand(v)];
- XXXXXX[3] = letters[nextRand(v)];
- XXXXXX[4] = letters[nextRand(v)];
- XXXXXX[5] = letters[v % 62];
-
- QString templateNameStr = QFile::decodeName(templateName);
-
- QFileSystemEntry fileSystemEntry(templateNameStr);
+ XXXXXX[0] = QLatin1Char(letters[nextRand(v)]);
+ XXXXXX[1] = QLatin1Char(letters[nextRand(v)]);
+ XXXXXX[2] = QLatin1Char(letters[nextRand(v)]);
+ XXXXXX[3] = QLatin1Char(letters[nextRand(v)]);
+ XXXXXX[4] = QLatin1Char(letters[nextRand(v)]);
+ XXXXXX[5] = QLatin1Char(letters[v % 62]);
+
+ QFileSystemEntry fileSystemEntry(templateName);
if (QFileSystemEngine::createDirectory(fileSystemEntry, false)) {
QSystemError error;
QFileSystemEngine::setPermissions(fileSystemEntry,
@@ -141,10 +142,10 @@ QPair<QString, bool> q_mkdtemp(char *templateName)
QFile::ExeOwner, error);
if (error.error() != 0) {
if (!QFileSystemEngine::removeDirectory(fileSystemEntry, false))
- qWarning() << "Unable to remove unused directory" << templateNameStr;
+ qWarning() << "Unable to remove unused directory" << templateName;
continue;
}
- return qMakePair(QFile::decodeName(templateName), true);
+ return qMakePair(templateName, true);
}
# ifdef Q_OS_WIN
const int exists = ERROR_ALREADY_EXISTS;
@@ -159,7 +160,7 @@ QPair<QString, bool> q_mkdtemp(char *templateName)
return qMakePair(qt_error_string(), false);
}
-#else // defined(Q_OS_QNX ) || defined(Q_OS_WIN) || defined(Q_OS_ANDROID)
+#else // !USE_SYSTEM_MKDTEMP
QPair<QString, bool> q_mkdtemp(char *templateName)
{
@@ -167,14 +168,21 @@ QPair<QString, bool> q_mkdtemp(char *templateName)
return qMakePair(ok ? QFile::decodeName(templateName) : qt_error_string(), ok);
}
-#endif
+#endif // USE_SYSTEM_MKDTEMP
void QTemporaryDirPrivate::create(const QString &templateName)
{
+#ifndef USE_SYSTEM_MKDTEMP
+ QString buffer = templateName;
+ if (!buffer.endsWith(QLatin1String("XXXXXX")))
+ buffer += QLatin1String("XXXXXX");
+ const QPair<QString, bool> result = q_mkdtemp(buffer);
+#else // !USE_SYSTEM_MKDTEMP
QByteArray buffer = QFile::encodeName(templateName);
if (!buffer.endsWith("XXXXXX"))
buffer += "XXXXXX";
QPair<QString, bool> result = q_mkdtemp(buffer.data()); // modifies buffer
+#endif // USE_SYSTEM_MKDTEMP
pathOrError = result.first;
success = result.second;
}
diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp
index 9afbb84abf..802962d77d 100644
--- a/src/corelib/kernel/qeventdispatcher_unix.cpp
+++ b/src/corelib/kernel/qeventdispatcher_unix.cpp
@@ -421,7 +421,12 @@ void QEventDispatcherUNIX::unregisterSocketNotifier(QSocketNotifier *notifier)
QSocketNotifier::Type type = notifier->type();
#ifndef QT_NO_DEBUG
if (notifier->thread() != thread() || thread() != QThread::currentThread()) {
- qWarning("QSocketNotifier: socket notifiers cannot be disabled from another thread");
+ qWarning("QSocketNotifier: socket notifier (fd %d) cannot be disabled from another thread.\n"
+ "(Notifier's thread is %s(%p), event dispatcher's thread is %s(%p), current thread is %s(%p))",
+ sockfd,
+ notifier->thread() ? notifier->thread()->metaObject()->className() : "QThread", notifier->thread(),
+ thread() ? thread()->metaObject()->className() : "QThread", thread(),
+ QThread::currentThread() ? QThread::currentThread()->metaObject()->className() : "QThread", QThread::currentThread());
return;
}
#endif
diff --git a/src/corelib/kernel/qjni.cpp b/src/corelib/kernel/qjni.cpp
index 260b877291..41d55c8fde 100644
--- a/src/corelib/kernel/qjni.cpp
+++ b/src/corelib/kernel/qjni.cpp
@@ -476,7 +476,7 @@ QJNIObjectPrivate::QJNIObjectPrivate(jobject obj)
env->DeleteLocalRef(cls);
}
template <>
-void QJNIObjectPrivate::callMethodV<void>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT void QJNIObjectPrivate::callMethodV<void>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jmethodID id = getCachedMethodID(env, d->m_jclass, d->m_className, methodName, sig);
@@ -486,7 +486,7 @@ void QJNIObjectPrivate::callMethodV<void>(const char *methodName, const char *si
}
template <>
-void QJNIObjectPrivate::callMethod<void>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT void QJNIObjectPrivate::callMethod<void>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -495,7 +495,7 @@ void QJNIObjectPrivate::callMethod<void>(const char *methodName, const char *sig
}
template <>
-jboolean QJNIObjectPrivate::callMethodV<jboolean>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callMethodV<jboolean>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jboolean res = 0;
@@ -507,7 +507,7 @@ jboolean QJNIObjectPrivate::callMethodV<jboolean>(const char *methodName, const
}
template <>
-jboolean QJNIObjectPrivate::callMethod<jboolean>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callMethod<jboolean>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -517,7 +517,7 @@ jboolean QJNIObjectPrivate::callMethod<jboolean>(const char *methodName, const c
}
template <>
-jbyte QJNIObjectPrivate::callMethodV<jbyte>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callMethodV<jbyte>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jbyte res = 0;
@@ -529,7 +529,7 @@ jbyte QJNIObjectPrivate::callMethodV<jbyte>(const char *methodName, const char *
}
template <>
-jbyte QJNIObjectPrivate::callMethod<jbyte>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callMethod<jbyte>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -539,7 +539,7 @@ jbyte QJNIObjectPrivate::callMethod<jbyte>(const char *methodName, const char *s
}
template <>
-jchar QJNIObjectPrivate::callMethodV<jchar>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callMethodV<jchar>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jchar res = 0;
@@ -551,7 +551,7 @@ jchar QJNIObjectPrivate::callMethodV<jchar>(const char *methodName, const char *
}
template <>
-jchar QJNIObjectPrivate::callMethod<jchar>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callMethod<jchar>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -561,7 +561,7 @@ jchar QJNIObjectPrivate::callMethod<jchar>(const char *methodName, const char *s
}
template <>
-jshort QJNIObjectPrivate::callMethodV<jshort>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callMethodV<jshort>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jshort res = 0;
@@ -573,7 +573,7 @@ jshort QJNIObjectPrivate::callMethodV<jshort>(const char *methodName, const char
}
template <>
-jshort QJNIObjectPrivate::callMethod<jshort>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callMethod<jshort>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -583,7 +583,7 @@ jshort QJNIObjectPrivate::callMethod<jshort>(const char *methodName, const char
}
template <>
-jint QJNIObjectPrivate::callMethodV<jint>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jint QJNIObjectPrivate::callMethodV<jint>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jint res = 0;
@@ -595,7 +595,7 @@ jint QJNIObjectPrivate::callMethodV<jint>(const char *methodName, const char *si
}
template <>
-jint QJNIObjectPrivate::callMethod<jint>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jint QJNIObjectPrivate::callMethod<jint>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -605,7 +605,7 @@ jint QJNIObjectPrivate::callMethod<jint>(const char *methodName, const char *sig
}
template <>
-jlong QJNIObjectPrivate::callMethodV<jlong>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callMethodV<jlong>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jlong res = 0;
@@ -617,7 +617,7 @@ jlong QJNIObjectPrivate::callMethodV<jlong>(const char *methodName, const char *
}
template <>
-jlong QJNIObjectPrivate::callMethod<jlong>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callMethod<jlong>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -627,7 +627,7 @@ jlong QJNIObjectPrivate::callMethod<jlong>(const char *methodName, const char *s
}
template <>
-jfloat QJNIObjectPrivate::callMethodV<jfloat>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callMethodV<jfloat>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jfloat res = 0.f;
@@ -639,7 +639,7 @@ jfloat QJNIObjectPrivate::callMethodV<jfloat>(const char *methodName, const char
}
template <>
-jfloat QJNIObjectPrivate::callMethod<jfloat>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callMethod<jfloat>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -649,7 +649,7 @@ jfloat QJNIObjectPrivate::callMethod<jfloat>(const char *methodName, const char
}
template <>
-jdouble QJNIObjectPrivate::callMethodV<jdouble>(const char *methodName, const char *sig, va_list args) const
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callMethodV<jdouble>(const char *methodName, const char *sig, va_list args) const
{
QJNIEnvironmentPrivate env;
jdouble res = 0.;
@@ -661,7 +661,7 @@ jdouble QJNIObjectPrivate::callMethodV<jdouble>(const char *methodName, const ch
}
template <>
-jdouble QJNIObjectPrivate::callMethod<jdouble>(const char *methodName, const char *sig, ...) const
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callMethod<jdouble>(const char *methodName, const char *sig, ...) const
{
va_list args;
va_start(args, sig);
@@ -671,61 +671,61 @@ jdouble QJNIObjectPrivate::callMethod<jdouble>(const char *methodName, const cha
}
template <>
-void QJNIObjectPrivate::callMethod<void>(const char *methodName) const
+Q_CORE_EXPORT void QJNIObjectPrivate::callMethod<void>(const char *methodName) const
{
callMethod<void>(methodName, "()V");
}
template <>
-jboolean QJNIObjectPrivate::callMethod<jboolean>(const char *methodName) const
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callMethod<jboolean>(const char *methodName) const
{
return callMethod<jboolean>(methodName, "()Z");
}
template <>
-jbyte QJNIObjectPrivate::callMethod<jbyte>(const char *methodName) const
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callMethod<jbyte>(const char *methodName) const
{
return callMethod<jbyte>(methodName, "()B");
}
template <>
-jchar QJNIObjectPrivate::callMethod<jchar>(const char *methodName) const
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callMethod<jchar>(const char *methodName) const
{
return callMethod<jchar>(methodName, "()C");
}
template <>
-jshort QJNIObjectPrivate::callMethod<jshort>(const char *methodName) const
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callMethod<jshort>(const char *methodName) const
{
return callMethod<jshort>(methodName, "()S");
}
template <>
-jint QJNIObjectPrivate::callMethod<jint>(const char *methodName) const
+Q_CORE_EXPORT jint QJNIObjectPrivate::callMethod<jint>(const char *methodName) const
{
return callMethod<jint>(methodName, "()I");
}
template <>
-jlong QJNIObjectPrivate::callMethod<jlong>(const char *methodName) const
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callMethod<jlong>(const char *methodName) const
{
return callMethod<jlong>(methodName, "()J");
}
template <>
-jfloat QJNIObjectPrivate::callMethod<jfloat>(const char *methodName) const
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callMethod<jfloat>(const char *methodName) const
{
return callMethod<jfloat>(methodName, "()F");
}
template <>
-jdouble QJNIObjectPrivate::callMethod<jdouble>(const char *methodName) const
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callMethod<jdouble>(const char *methodName) const
{
return callMethod<jdouble>(methodName, "()D");
}
template <>
-void QJNIObjectPrivate::callStaticMethodV<void>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethodV<void>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -741,7 +741,7 @@ void QJNIObjectPrivate::callStaticMethodV<void>(const char *className,
}
template <>
-void QJNIObjectPrivate::callStaticMethod<void>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethod<void>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -753,7 +753,7 @@ void QJNIObjectPrivate::callStaticMethod<void>(const char *className,
}
template <>
-void QJNIObjectPrivate::callStaticMethodV<void>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethodV<void>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -766,7 +766,7 @@ void QJNIObjectPrivate::callStaticMethodV<void>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::callStaticMethod<void>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethod<void>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -778,7 +778,7 @@ void QJNIObjectPrivate::callStaticMethod<void>(jclass clazz,
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(const char *className,
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -797,7 +797,7 @@ jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(const char *className,
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(const char *className,
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -810,7 +810,7 @@ jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(const char *className,
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(jclass clazz,
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -826,7 +826,7 @@ jboolean QJNIObjectPrivate::callStaticMethodV<jboolean>(jclass clazz,
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(jclass clazz,
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -839,7 +839,7 @@ jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(jclass clazz,
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(const char *className,
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -858,7 +858,7 @@ jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(const char *className,
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(const char *className,
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -871,7 +871,7 @@ jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(const char *className,
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(jclass clazz,
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -887,7 +887,7 @@ jbyte QJNIObjectPrivate::callStaticMethodV<jbyte>(jclass clazz,
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(jclass clazz,
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -900,7 +900,7 @@ jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(jclass clazz,
}
template <>
-jchar QJNIObjectPrivate::callStaticMethodV<jchar>(const char *className,
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethodV<jchar>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -919,7 +919,7 @@ jchar QJNIObjectPrivate::callStaticMethodV<jchar>(const char *className,
}
template <>
-jchar QJNIObjectPrivate::callStaticMethod<jchar>(const char *className,
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethod<jchar>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -932,7 +932,7 @@ jchar QJNIObjectPrivate::callStaticMethod<jchar>(const char *className,
}
template <>
-jchar QJNIObjectPrivate::callStaticMethodV<jchar>(jclass clazz,
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethodV<jchar>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -948,7 +948,7 @@ jchar QJNIObjectPrivate::callStaticMethodV<jchar>(jclass clazz,
}
template <>
-jchar QJNIObjectPrivate::callStaticMethod<jchar>(jclass clazz,
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethod<jchar>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -961,7 +961,7 @@ jchar QJNIObjectPrivate::callStaticMethod<jchar>(jclass clazz,
}
template <>
-jshort QJNIObjectPrivate::callStaticMethodV<jshort>(const char *className,
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethodV<jshort>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -980,7 +980,7 @@ jshort QJNIObjectPrivate::callStaticMethodV<jshort>(const char *className,
}
template <>
-jshort QJNIObjectPrivate::callStaticMethod<jshort>(const char *className,
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethod<jshort>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -993,7 +993,7 @@ jshort QJNIObjectPrivate::callStaticMethod<jshort>(const char *className,
}
template <>
-jshort QJNIObjectPrivate::callStaticMethodV<jshort>(jclass clazz,
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethodV<jshort>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -1009,7 +1009,7 @@ jshort QJNIObjectPrivate::callStaticMethodV<jshort>(jclass clazz,
}
template <>
-jshort QJNIObjectPrivate::callStaticMethod<jshort>(jclass clazz,
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethod<jshort>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -1022,7 +1022,7 @@ jshort QJNIObjectPrivate::callStaticMethod<jshort>(jclass clazz,
}
template <>
-jint QJNIObjectPrivate::callStaticMethodV<jint>(const char *className,
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethodV<jint>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -1041,7 +1041,7 @@ jint QJNIObjectPrivate::callStaticMethodV<jint>(const char *className,
}
template <>
-jint QJNIObjectPrivate::callStaticMethod<jint>(const char *className,
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethod<jint>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -1054,7 +1054,7 @@ jint QJNIObjectPrivate::callStaticMethod<jint>(const char *className,
}
template <>
-jint QJNIObjectPrivate::callStaticMethodV<jint>(jclass clazz,
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethodV<jint>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -1070,7 +1070,7 @@ jint QJNIObjectPrivate::callStaticMethodV<jint>(jclass clazz,
}
template <>
-jint QJNIObjectPrivate::callStaticMethod<jint>(jclass clazz,
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethod<jint>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -1083,7 +1083,7 @@ jint QJNIObjectPrivate::callStaticMethod<jint>(jclass clazz,
}
template <>
-jlong QJNIObjectPrivate::callStaticMethodV<jlong>(const char *className,
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethodV<jlong>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -1102,7 +1102,7 @@ jlong QJNIObjectPrivate::callStaticMethodV<jlong>(const char *className,
}
template <>
-jlong QJNIObjectPrivate::callStaticMethod<jlong>(const char *className,
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethod<jlong>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -1115,7 +1115,7 @@ jlong QJNIObjectPrivate::callStaticMethod<jlong>(const char *className,
}
template <>
-jlong QJNIObjectPrivate::callStaticMethodV<jlong>(jclass clazz,
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethodV<jlong>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -1131,7 +1131,7 @@ jlong QJNIObjectPrivate::callStaticMethodV<jlong>(jclass clazz,
}
template <>
-jlong QJNIObjectPrivate::callStaticMethod<jlong>(jclass clazz,
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethod<jlong>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -1144,7 +1144,7 @@ jlong QJNIObjectPrivate::callStaticMethod<jlong>(jclass clazz,
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(const char *className,
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -1163,7 +1163,7 @@ jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(const char *className,
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(const char *className,
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -1176,7 +1176,7 @@ jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(const char *className,
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(jclass clazz,
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -1192,7 +1192,7 @@ jfloat QJNIObjectPrivate::callStaticMethodV<jfloat>(jclass clazz,
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(jclass clazz,
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -1205,7 +1205,7 @@ jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(jclass clazz,
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(const char *className,
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(const char *className,
const char *methodName,
const char *sig,
va_list args)
@@ -1224,7 +1224,7 @@ jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(const char *className,
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(const char *className,
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(const char *className,
const char *methodName,
const char *sig,
...)
@@ -1237,7 +1237,7 @@ jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(const char *className,
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(jclass clazz,
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(jclass clazz,
const char *methodName,
const char *sig,
va_list args)
@@ -1253,7 +1253,7 @@ jdouble QJNIObjectPrivate::callStaticMethodV<jdouble>(jclass clazz,
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(jclass clazz,
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(jclass clazz,
const char *methodName,
const char *sig,
...)
@@ -1266,109 +1266,109 @@ jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::callStaticMethod<void>(const char *className, const char *methodName)
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethod<void>(const char *className, const char *methodName)
{
callStaticMethod<void>(className, methodName, "()V");
}
template <>
-void QJNIObjectPrivate::callStaticMethod<void>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT void QJNIObjectPrivate::callStaticMethod<void>(jclass clazz, const char *methodName)
{
callStaticMethod<void>(clazz, methodName, "()V");
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(const char *className, const char *methodName)
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(const char *className, const char *methodName)
{
return callStaticMethod<jboolean>(className, methodName, "()Z");
}
template <>
-jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::callStaticMethod<jboolean>(jclass clazz, const char *methodName)
{
return callStaticMethod<jboolean>(clazz, methodName, "()Z");
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(const char *className, const char *methodName)
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(const char *className, const char *methodName)
{
return callStaticMethod<jbyte>(className, methodName, "()B");
}
template <>
-jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::callStaticMethod<jbyte>(jclass clazz, const char *methodName)
{
return callStaticMethod<jbyte>(clazz, methodName, "()B");
}
template <>
-jchar QJNIObjectPrivate::callStaticMethod<jchar>(const char *className, const char *methodName)
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethod<jchar>(const char *className, const char *methodName)
{
return callStaticMethod<jchar>(className, methodName, "()C");
}
template <>
-jchar QJNIObjectPrivate::callStaticMethod<jchar>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jchar QJNIObjectPrivate::callStaticMethod<jchar>(jclass clazz, const char *methodName)
{
return callStaticMethod<jchar>(clazz, methodName, "()C");
}
template <>
-jshort QJNIObjectPrivate::callStaticMethod<jshort>(const char *className, const char *methodName)
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethod<jshort>(const char *className, const char *methodName)
{
return callStaticMethod<jshort>(className, methodName, "()S");
}
template <>
-jshort QJNIObjectPrivate::callStaticMethod<jshort>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jshort QJNIObjectPrivate::callStaticMethod<jshort>(jclass clazz, const char *methodName)
{
return callStaticMethod<jshort>(clazz, methodName, "()S");
}
template <>
-jint QJNIObjectPrivate::callStaticMethod<jint>(const char *className, const char *methodName)
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethod<jint>(const char *className, const char *methodName)
{
return callStaticMethod<jint>(className, methodName, "()I");
}
template <>
-jint QJNIObjectPrivate::callStaticMethod<jint>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jint QJNIObjectPrivate::callStaticMethod<jint>(jclass clazz, const char *methodName)
{
return callStaticMethod<jint>(clazz, methodName, "()I");
}
template <>
-jlong QJNIObjectPrivate::callStaticMethod<jlong>(const char *className, const char *methodName)
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethod<jlong>(const char *className, const char *methodName)
{
return callStaticMethod<jlong>(className, methodName, "()J");
}
template <>
-jlong QJNIObjectPrivate::callStaticMethod<jlong>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jlong QJNIObjectPrivate::callStaticMethod<jlong>(jclass clazz, const char *methodName)
{
return callStaticMethod<jlong>(clazz, methodName, "()J");
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(const char *className, const char *methodName)
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(const char *className, const char *methodName)
{
return callStaticMethod<jfloat>(className, methodName, "()F");
}
template <>
-jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::callStaticMethod<jfloat>(jclass clazz, const char *methodName)
{
return callStaticMethod<jfloat>(clazz, methodName, "()F");
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(const char *className, const char *methodName)
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(const char *className, const char *methodName)
{
return callStaticMethod<jdouble>(className, methodName, "()D");
}
template <>
-jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(jclass clazz, const char *methodName)
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::callStaticMethod<jdouble>(jclass clazz, const char *methodName)
{
return callStaticMethod<jdouble>(clazz, methodName, "()D");
}
@@ -1403,49 +1403,49 @@ QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod(const char *methodName,
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jstring>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jstring>(const char *methodName) const
{
return callObjectMethod(methodName, "()Ljava/lang/String;");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jbooleanArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jbooleanArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[Z");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jbyteArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jbyteArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[B");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jshortArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jshortArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[S");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jintArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jintArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[I");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jlongArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jlongArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[J");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jfloatArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jfloatArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[F");
}
template <>
-QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jdoubleArray>(const char *methodName) const
+Q_CORE_EXPORT QJNIObjectPrivate QJNIObjectPrivate::callObjectMethod<jdoubleArray>(const char *methodName) const
{
return callObjectMethod(methodName, "()[D");
}
@@ -1516,7 +1516,7 @@ QJNIObjectPrivate QJNIObjectPrivate::callStaticObjectMethod(jclass clazz,
}
template <>
-jboolean QJNIObjectPrivate::getField<jboolean>(const char *fieldName) const
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::getField<jboolean>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jboolean res = 0;
@@ -1528,7 +1528,7 @@ jboolean QJNIObjectPrivate::getField<jboolean>(const char *fieldName) const
}
template <>
-jbyte QJNIObjectPrivate::getField<jbyte>(const char *fieldName) const
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::getField<jbyte>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jbyte res = 0;
@@ -1540,7 +1540,7 @@ jbyte QJNIObjectPrivate::getField<jbyte>(const char *fieldName) const
}
template <>
-jchar QJNIObjectPrivate::getField<jchar>(const char *fieldName) const
+Q_CORE_EXPORT jchar QJNIObjectPrivate::getField<jchar>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jchar res = 0;
@@ -1552,7 +1552,7 @@ jchar QJNIObjectPrivate::getField<jchar>(const char *fieldName) const
}
template <>
-jshort QJNIObjectPrivate::getField<jshort>(const char *fieldName) const
+Q_CORE_EXPORT jshort QJNIObjectPrivate::getField<jshort>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jshort res = 0;
@@ -1564,7 +1564,7 @@ jshort QJNIObjectPrivate::getField<jshort>(const char *fieldName) const
}
template <>
-jint QJNIObjectPrivate::getField<jint>(const char *fieldName) const
+Q_CORE_EXPORT jint QJNIObjectPrivate::getField<jint>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jint res = 0;
@@ -1576,7 +1576,7 @@ jint QJNIObjectPrivate::getField<jint>(const char *fieldName) const
}
template <>
-jlong QJNIObjectPrivate::getField<jlong>(const char *fieldName) const
+Q_CORE_EXPORT jlong QJNIObjectPrivate::getField<jlong>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jlong res = 0;
@@ -1588,7 +1588,7 @@ jlong QJNIObjectPrivate::getField<jlong>(const char *fieldName) const
}
template <>
-jfloat QJNIObjectPrivate::getField<jfloat>(const char *fieldName) const
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::getField<jfloat>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jfloat res = 0.f;
@@ -1600,7 +1600,7 @@ jfloat QJNIObjectPrivate::getField<jfloat>(const char *fieldName) const
}
template <>
-jdouble QJNIObjectPrivate::getField<jdouble>(const char *fieldName) const
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::getField<jdouble>(const char *fieldName) const
{
QJNIEnvironmentPrivate env;
jdouble res = 0.;
@@ -1612,7 +1612,7 @@ jdouble QJNIObjectPrivate::getField<jdouble>(const char *fieldName) const
}
template <>
-jboolean QJNIObjectPrivate::getStaticField<jboolean>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::getStaticField<jboolean>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jboolean res = 0;
@@ -1624,7 +1624,7 @@ jboolean QJNIObjectPrivate::getStaticField<jboolean>(jclass clazz, const char *f
}
template <>
-jboolean QJNIObjectPrivate::getStaticField<jboolean>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jboolean QJNIObjectPrivate::getStaticField<jboolean>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1639,7 +1639,7 @@ jboolean QJNIObjectPrivate::getStaticField<jboolean>(const char *className, cons
}
template <>
-jbyte QJNIObjectPrivate::getStaticField<jbyte>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::getStaticField<jbyte>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jbyte res = 0;
@@ -1651,7 +1651,7 @@ jbyte QJNIObjectPrivate::getStaticField<jbyte>(jclass clazz, const char *fieldNa
}
template <>
-jbyte QJNIObjectPrivate::getStaticField<jbyte>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jbyte QJNIObjectPrivate::getStaticField<jbyte>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1666,7 +1666,7 @@ jbyte QJNIObjectPrivate::getStaticField<jbyte>(const char *className, const char
}
template <>
-jchar QJNIObjectPrivate::getStaticField<jchar>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jchar QJNIObjectPrivate::getStaticField<jchar>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jchar res = 0;
@@ -1678,7 +1678,7 @@ jchar QJNIObjectPrivate::getStaticField<jchar>(jclass clazz, const char *fieldNa
}
template <>
-jchar QJNIObjectPrivate::getStaticField<jchar>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jchar QJNIObjectPrivate::getStaticField<jchar>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1693,7 +1693,7 @@ jchar QJNIObjectPrivate::getStaticField<jchar>(const char *className, const char
}
template <>
-jshort QJNIObjectPrivate::getStaticField<jshort>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jshort QJNIObjectPrivate::getStaticField<jshort>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jshort res = 0;
@@ -1705,7 +1705,7 @@ jshort QJNIObjectPrivate::getStaticField<jshort>(jclass clazz, const char *field
}
template <>
-jshort QJNIObjectPrivate::getStaticField<jshort>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jshort QJNIObjectPrivate::getStaticField<jshort>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1720,7 +1720,7 @@ jshort QJNIObjectPrivate::getStaticField<jshort>(const char *className, const ch
}
template <>
-jint QJNIObjectPrivate::getStaticField<jint>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jint QJNIObjectPrivate::getStaticField<jint>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jint res = 0;
@@ -1732,7 +1732,7 @@ jint QJNIObjectPrivate::getStaticField<jint>(jclass clazz, const char *fieldName
}
template <>
-jint QJNIObjectPrivate::getStaticField<jint>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jint QJNIObjectPrivate::getStaticField<jint>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1747,7 +1747,7 @@ jint QJNIObjectPrivate::getStaticField<jint>(const char *className, const char *
}
template <>
-jlong QJNIObjectPrivate::getStaticField<jlong>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jlong QJNIObjectPrivate::getStaticField<jlong>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jlong res = 0;
@@ -1759,7 +1759,7 @@ jlong QJNIObjectPrivate::getStaticField<jlong>(jclass clazz, const char *fieldNa
}
template <>
-jlong QJNIObjectPrivate::getStaticField<jlong>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jlong QJNIObjectPrivate::getStaticField<jlong>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1774,7 +1774,7 @@ jlong QJNIObjectPrivate::getStaticField<jlong>(const char *className, const char
}
template <>
-jfloat QJNIObjectPrivate::getStaticField<jfloat>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::getStaticField<jfloat>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jfloat res = 0.f;
@@ -1786,7 +1786,7 @@ jfloat QJNIObjectPrivate::getStaticField<jfloat>(jclass clazz, const char *field
}
template <>
-jfloat QJNIObjectPrivate::getStaticField<jfloat>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jfloat QJNIObjectPrivate::getStaticField<jfloat>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1801,7 +1801,7 @@ jfloat QJNIObjectPrivate::getStaticField<jfloat>(const char *className, const ch
}
template <>
-jdouble QJNIObjectPrivate::getStaticField<jdouble>(jclass clazz, const char *fieldName)
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::getStaticField<jdouble>(jclass clazz, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jdouble res = 0.;
@@ -1813,7 +1813,7 @@ jdouble QJNIObjectPrivate::getStaticField<jdouble>(jclass clazz, const char *fie
}
template <>
-jdouble QJNIObjectPrivate::getStaticField<jdouble>(const char *className, const char *fieldName)
+Q_CORE_EXPORT jdouble QJNIObjectPrivate::getStaticField<jdouble>(const char *className, const char *fieldName)
{
QJNIEnvironmentPrivate env;
jclass clazz = loadClass(className, env);
@@ -1885,7 +1885,7 @@ QJNIObjectPrivate QJNIObjectPrivate::getStaticObjectField(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setField<jboolean>(const char *fieldName, jboolean value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jboolean>(const char *fieldName, jboolean value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "Z");
@@ -1895,7 +1895,7 @@ void QJNIObjectPrivate::setField<jboolean>(const char *fieldName, jboolean value
}
template <>
-void QJNIObjectPrivate::setField<jbyte>(const char *fieldName, jbyte value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jbyte>(const char *fieldName, jbyte value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "B");
@@ -1905,7 +1905,7 @@ void QJNIObjectPrivate::setField<jbyte>(const char *fieldName, jbyte value)
}
template <>
-void QJNIObjectPrivate::setField<jchar>(const char *fieldName, jchar value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jchar>(const char *fieldName, jchar value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "C");
@@ -1915,7 +1915,7 @@ void QJNIObjectPrivate::setField<jchar>(const char *fieldName, jchar value)
}
template <>
-void QJNIObjectPrivate::setField<jshort>(const char *fieldName, jshort value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jshort>(const char *fieldName, jshort value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "S");
@@ -1925,7 +1925,7 @@ void QJNIObjectPrivate::setField<jshort>(const char *fieldName, jshort value)
}
template <>
-void QJNIObjectPrivate::setField<jint>(const char *fieldName, jint value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jint>(const char *fieldName, jint value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "I");
@@ -1935,7 +1935,7 @@ void QJNIObjectPrivate::setField<jint>(const char *fieldName, jint value)
}
template <>
-void QJNIObjectPrivate::setField<jlong>(const char *fieldName, jlong value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jlong>(const char *fieldName, jlong value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "J");
@@ -1945,7 +1945,7 @@ void QJNIObjectPrivate::setField<jlong>(const char *fieldName, jlong value)
}
template <>
-void QJNIObjectPrivate::setField<jfloat>(const char *fieldName, jfloat value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jfloat>(const char *fieldName, jfloat value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "F");
@@ -1955,7 +1955,7 @@ void QJNIObjectPrivate::setField<jfloat>(const char *fieldName, jfloat value)
}
template <>
-void QJNIObjectPrivate::setField<jdouble>(const char *fieldName, jdouble value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jdouble>(const char *fieldName, jdouble value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "D");
@@ -1965,7 +1965,7 @@ void QJNIObjectPrivate::setField<jdouble>(const char *fieldName, jdouble value)
}
template <>
-void QJNIObjectPrivate::setField<jbooleanArray>(const char *fieldName, jbooleanArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jbooleanArray>(const char *fieldName, jbooleanArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[Z");
@@ -1975,7 +1975,7 @@ void QJNIObjectPrivate::setField<jbooleanArray>(const char *fieldName, jbooleanA
}
template <>
-void QJNIObjectPrivate::setField<jbyteArray>(const char *fieldName, jbyteArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jbyteArray>(const char *fieldName, jbyteArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[B");
@@ -1985,7 +1985,7 @@ void QJNIObjectPrivate::setField<jbyteArray>(const char *fieldName, jbyteArray v
}
template <>
-void QJNIObjectPrivate::setField<jcharArray>(const char *fieldName, jcharArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jcharArray>(const char *fieldName, jcharArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[C");
@@ -1995,7 +1995,7 @@ void QJNIObjectPrivate::setField<jcharArray>(const char *fieldName, jcharArray v
}
template <>
-void QJNIObjectPrivate::setField<jshortArray>(const char *fieldName, jshortArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jshortArray>(const char *fieldName, jshortArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[S");
@@ -2005,7 +2005,7 @@ void QJNIObjectPrivate::setField<jshortArray>(const char *fieldName, jshortArray
}
template <>
-void QJNIObjectPrivate::setField<jintArray>(const char *fieldName, jintArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jintArray>(const char *fieldName, jintArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[I");
@@ -2015,7 +2015,7 @@ void QJNIObjectPrivate::setField<jintArray>(const char *fieldName, jintArray val
}
template <>
-void QJNIObjectPrivate::setField<jlongArray>(const char *fieldName, jlongArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jlongArray>(const char *fieldName, jlongArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[J");
@@ -2025,7 +2025,7 @@ void QJNIObjectPrivate::setField<jlongArray>(const char *fieldName, jlongArray v
}
template <>
-void QJNIObjectPrivate::setField<jfloatArray>(const char *fieldName, jfloatArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jfloatArray>(const char *fieldName, jfloatArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[F");
@@ -2035,7 +2035,7 @@ void QJNIObjectPrivate::setField<jfloatArray>(const char *fieldName, jfloatArray
}
template <>
-void QJNIObjectPrivate::setField<jdoubleArray>(const char *fieldName, jdoubleArray value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jdoubleArray>(const char *fieldName, jdoubleArray value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "[D");
@@ -2045,7 +2045,7 @@ void QJNIObjectPrivate::setField<jdoubleArray>(const char *fieldName, jdoubleArr
}
template <>
-void QJNIObjectPrivate::setField<jstring>(const char *fieldName, jstring value)
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jstring>(const char *fieldName, jstring value)
{
QJNIEnvironmentPrivate env;
jfieldID id = getCachedFieldID(env, d->m_jclass, d->m_className, fieldName, "Ljava/lang/String;");
@@ -2055,7 +2055,7 @@ void QJNIObjectPrivate::setField<jstring>(const char *fieldName, jstring value)
}
template <>
-void QJNIObjectPrivate::setField<jobject>(const char *fieldName,
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jobject>(const char *fieldName,
const char *sig,
jobject value)
{
@@ -2067,7 +2067,7 @@ void QJNIObjectPrivate::setField<jobject>(const char *fieldName,
}
template <>
-void QJNIObjectPrivate::setField<jobjectArray>(const char *fieldName,
+Q_CORE_EXPORT void QJNIObjectPrivate::setField<jobjectArray>(const char *fieldName,
const char *sig,
jobjectArray value)
{
@@ -2079,7 +2079,7 @@ void QJNIObjectPrivate::setField<jobjectArray>(const char *fieldName,
}
template <>
-void QJNIObjectPrivate::setStaticField<jboolean>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jboolean>(jclass clazz,
const char *fieldName,
jboolean value)
{
@@ -2090,7 +2090,7 @@ void QJNIObjectPrivate::setStaticField<jboolean>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jboolean>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jboolean>(const char *className,
const char *fieldName,
jboolean value)
{
@@ -2107,7 +2107,7 @@ void QJNIObjectPrivate::setStaticField<jboolean>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jbyte>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jbyte>(jclass clazz,
const char *fieldName,
jbyte value)
{
@@ -2118,7 +2118,7 @@ void QJNIObjectPrivate::setStaticField<jbyte>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jbyte>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jbyte>(const char *className,
const char *fieldName,
jbyte value)
{
@@ -2135,7 +2135,7 @@ void QJNIObjectPrivate::setStaticField<jbyte>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jchar>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jchar>(jclass clazz,
const char *fieldName,
jchar value)
{
@@ -2146,7 +2146,7 @@ void QJNIObjectPrivate::setStaticField<jchar>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jchar>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jchar>(const char *className,
const char *fieldName,
jchar value)
{
@@ -2163,7 +2163,7 @@ void QJNIObjectPrivate::setStaticField<jchar>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jshort>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jshort>(jclass clazz,
const char *fieldName,
jshort value)
{
@@ -2174,7 +2174,7 @@ void QJNIObjectPrivate::setStaticField<jshort>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jshort>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jshort>(const char *className,
const char *fieldName,
jshort value)
{
@@ -2191,7 +2191,7 @@ void QJNIObjectPrivate::setStaticField<jshort>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jint>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jint>(jclass clazz,
const char *fieldName,
jint value)
{
@@ -2202,7 +2202,7 @@ void QJNIObjectPrivate::setStaticField<jint>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jint>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jint>(const char *className,
const char *fieldName,
jint value)
{
@@ -2219,7 +2219,7 @@ void QJNIObjectPrivate::setStaticField<jint>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jlong>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jlong>(jclass clazz,
const char *fieldName,
jlong value)
{
@@ -2230,7 +2230,7 @@ void QJNIObjectPrivate::setStaticField<jlong>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jlong>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jlong>(const char *className,
const char *fieldName,
jlong value)
{
@@ -2247,7 +2247,7 @@ void QJNIObjectPrivate::setStaticField<jlong>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jfloat>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jfloat>(jclass clazz,
const char *fieldName,
jfloat value)
{
@@ -2258,7 +2258,7 @@ void QJNIObjectPrivate::setStaticField<jfloat>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jfloat>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jfloat>(const char *className,
const char *fieldName,
jfloat value)
{
@@ -2275,7 +2275,7 @@ void QJNIObjectPrivate::setStaticField<jfloat>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jdouble>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jdouble>(jclass clazz,
const char *fieldName,
jdouble value)
{
@@ -2286,7 +2286,7 @@ void QJNIObjectPrivate::setStaticField<jdouble>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jdouble>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jdouble>(const char *className,
const char *fieldName,
jdouble value)
{
@@ -2303,7 +2303,7 @@ void QJNIObjectPrivate::setStaticField<jdouble>(const char *className,
}
template <>
-void QJNIObjectPrivate::setStaticField<jobject>(jclass clazz,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jobject>(jclass clazz,
const char *fieldName,
const char *sig,
jobject value)
@@ -2315,7 +2315,7 @@ void QJNIObjectPrivate::setStaticField<jobject>(jclass clazz,
}
template <>
-void QJNIObjectPrivate::setStaticField<jobject>(const char *className,
+Q_CORE_EXPORT void QJNIObjectPrivate::setStaticField<jobject>(const char *className,
const char *fieldName,
const char *sig,
jobject value)
diff --git a/src/corelib/kernel/qjnionload.cpp b/src/corelib/kernel/qjnionload.cpp
index f80da36240..c936bf42fd 100644
--- a/src/corelib/kernel/qjnionload.cpp
+++ b/src/corelib/kernel/qjnionload.cpp
@@ -44,6 +44,11 @@ Q_CORE_EXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved)
{
Q_UNUSED(reserved)
+ static bool initialized = false;
+ if (initialized)
+ return JNI_VERSION_1_6;
+ initialized = true;
+
typedef union {
JNIEnv *nenv;
void *venv;
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index c0ebf273fa..c846aada05 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -3693,7 +3693,6 @@ void QMetaObject::activate(QObject *sender, int signalOffset, int local_signal_i
continue;
#ifndef QT_NO_THREAD
} else if (c->connectionType == Qt::BlockingQueuedConnection) {
- locker.unlock();
if (receiverInSameThread) {
qWarning("Qt: Dead lock detected while activating a BlockingQueuedConnection: "
"Sender is %s(%p), receiver is %s(%p)",
@@ -3705,6 +3704,7 @@ void QMetaObject::activate(QObject *sender, int signalOffset, int local_signal_i
new QMetaCallEvent(c->slotObj, sender, signal_index, 0, 0, argv ? argv : empty_argv, &semaphore) :
new QMetaCallEvent(c->method_offset, c->method_relative, c->callFunction, sender, signal_index, 0, 0, argv ? argv : empty_argv, &semaphore);
QCoreApplication::postEvent(receiver, ev);
+ locker.unlock();
semaphore.acquire();
locker.relock();
continue;
@@ -4272,7 +4272,7 @@ QDebug operator<<(QDebug dbg, const QObject *o)
\relates QObject
\since 5.5
- This macro registers a single \l{QFlags}{flags types} with the
+ This macro registers a single \l{QFlags}{flags type} with the
meta-object system. It is typically used in a class definition to declare
that values of a given enum can be used as flags and combined using the
bitwise OR operator.
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index f8bebdf617..3660d1c0e1 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -180,6 +180,8 @@ inline void qYouForgotTheQ_OBJECT_Macro(T1, T2) {}
#if defined(Q_CC_CLANG) && Q_CC_CLANG >= 306
# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_CLANG("-Winconsistent-missing-override")
+#elif defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && Q_CC_GNU >= 510
+# define Q_OBJECT_NO_OVERRIDE_WARNING QT_WARNING_DISABLE_GCC("-Wsuggest-override")
#else
# define Q_OBJECT_NO_OVERRIDE_WARNING
#endif
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 886dd20d0e..93a901d614 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -536,8 +536,13 @@ bool QLibraryPrivate::load()
return false;
bool ret = load_sys();
- if (qt_debug_component())
- qDebug() << "loaded library" << fileName;
+ if (qt_debug_component()) {
+ if (ret) {
+ qDebug() << "loaded library" << fileName;
+ } else {
+ qDebug() << qUtf8Printable(errorString);
+ }
+ }
if (ret) {
//when loading a library we add a reference to it so that the QLibraryPrivate won't get deleted
//this allows to unload the library at a later time
diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h
index ec0eaa1edf..ebf9b45570 100644
--- a/src/corelib/tools/qdatetime.h
+++ b/src/corelib/tools/qdatetime.h
@@ -123,8 +123,8 @@ QT_DEPRECATED inline bool setYMD(int y, int m, int d)
static bool isValid(int y, int m, int d);
static bool isLeapYear(int year);
- static Q_DECL_CONSTEXPR inline QDate fromJulianDay(qint64 jd)
- { return jd >= minJd() && jd <= maxJd() ? QDate(jd) : QDate() ; }
+ static Q_DECL_CONSTEXPR inline QDate fromJulianDay(qint64 jd_)
+ { return jd_ >= minJd() && jd_ <= maxJd() ? QDate(jd_) : QDate() ; }
Q_DECL_CONSTEXPR inline qint64 toJulianDay() const { return jd; }
private:
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index 0f769ffa86..7ce12bc244 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -499,14 +499,14 @@ private:
void deref() Q_DECL_NOTHROW
{ deref(d); }
- static void deref(Data *d) Q_DECL_NOTHROW
+ static void deref(Data *dd) Q_DECL_NOTHROW
{
- if (!d) return;
- if (!d->strongref.deref()) {
- d->destroy();
+ if (!dd) return;
+ if (!dd->strongref.deref()) {
+ dd->destroy();
}
- if (!d->weakref.deref())
- delete d;
+ if (!dd->weakref.deref())
+ delete dd;
}
template <class X>
diff --git a/src/corelib/tools/qtimezoneprivate.cpp b/src/corelib/tools/qtimezoneprivate.cpp
index 763d12b702..56da197542 100644
--- a/src/corelib/tools/qtimezoneprivate.cpp
+++ b/src/corelib/tools/qtimezoneprivate.cpp
@@ -656,10 +656,11 @@ QTimeZonePrivate *QUtcTimeZonePrivate::clone()
QTimeZonePrivate::Data QUtcTimeZonePrivate::data(qint64 forMSecsSinceEpoch) const
{
- Data d = invalidData();
+ Data d;
d.abbreviation = m_abbreviation;
d.atMSecsSinceEpoch = forMSecsSinceEpoch;
- d.offsetFromUtc = m_offsetFromUtc;
+ d.standardTimeOffset = d.offsetFromUtc = m_offsetFromUtc;
+ d.daylightTimeOffset = 0;
return d;
}
diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
index c2630c8593..6e717f2233 100644
--- a/src/corelib/tools/qtimezoneprivate_tz.cpp
+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
@@ -907,7 +907,7 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::data(qint64 forMSecsSinceEpoch) const
{
// If the required time is after the last transition and we have a POSIX rule then use it
if (m_tranTimes.size() > 0 && m_tranTimes.last().atMSecsSinceEpoch < forMSecsSinceEpoch
- &&!m_posixRule.isEmpty() && forMSecsSinceEpoch >= 0) {
+ && !m_posixRule.isEmpty() && forMSecsSinceEpoch >= 0) {
const int year = QDateTime::fromMSecsSinceEpoch(forMSecsSinceEpoch, Qt::UTC).date().year();
const int lastMSecs = (m_tranTimes.size() > 0) ? m_tranTimes.last().atMSecsSinceEpoch : 0;
QVector<QTimeZonePrivate::Data> posixTrans = calculatePosixTransitions(m_posixRule, year - 1,
@@ -951,7 +951,7 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::nextTransition(qint64 afterMSecsSince
{
// If the required time is after the last transition and we have a POSIX rule then use it
if (m_tranTimes.size() > 0 && m_tranTimes.last().atMSecsSinceEpoch < afterMSecsSinceEpoch
- &&!m_posixRule.isEmpty() && afterMSecsSinceEpoch >= 0) {
+ && !m_posixRule.isEmpty() && afterMSecsSinceEpoch >= 0) {
const int year = QDateTime::fromMSecsSinceEpoch(afterMSecsSinceEpoch, Qt::UTC).date().year();
const int lastMSecs = (m_tranTimes.size() > 0) ? m_tranTimes.last().atMSecsSinceEpoch : 0;
QVector<QTimeZonePrivate::Data> posixTrans = calculatePosixTransitions(m_posixRule, year - 1,
@@ -977,7 +977,7 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::previousTransition(qint64 beforeMSecs
{
// If the required time is after the last transition and we have a POSIX rule then use it
if (m_tranTimes.size() > 0 && m_tranTimes.last().atMSecsSinceEpoch < beforeMSecsSinceEpoch
- &&!m_posixRule.isEmpty() && beforeMSecsSinceEpoch > 0) {
+ && !m_posixRule.isEmpty() && beforeMSecsSinceEpoch > 0) {
const int year = QDateTime::fromMSecsSinceEpoch(beforeMSecsSinceEpoch, Qt::UTC).date().year();
const int lastMSecs = (m_tranTimes.size() > 0) ? m_tranTimes.last().atMSecsSinceEpoch : 0;
QVector<QTimeZonePrivate::Data> posixTrans = calculatePosixTransitions(m_posixRule, year - 1,
diff --git a/src/corelib/tools/qvector.h b/src/corelib/tools/qvector.h
index b68ca87063..4dbf95c315 100644
--- a/src/corelib/tools/qvector.h
+++ b/src/corelib/tools/qvector.h
@@ -397,7 +397,11 @@ void QVector<T>::reserve(int asize)
{
if (asize > int(d->alloc))
reallocData(d->size, asize);
- if (isDetached())
+ if (isDetached()
+#if !defined(QT_NO_UNSHARABLE_CONTAINERS)
+ && d != Data::unsharableEmpty()
+#endif
+ )
d->capacityReserved = 1;
Q_ASSERT(capacity() >= asize);
}
diff --git a/src/corelib/xml/qxmlstream.cpp b/src/corelib/xml/qxmlstream.cpp
index 3949d2c3ac..83b26d50ab 100644
--- a/src/corelib/xml/qxmlstream.cpp
+++ b/src/corelib/xml/qxmlstream.cpp
@@ -1181,6 +1181,10 @@ inline int QXmlStreamReaderPrivate::fastScanLiteralContent()
}
// fall through
default:
+ if (c < 0x20) {
+ putChar(c);
+ return n;
+ }
textBuffer += QChar(c);
++n;
}