diff options
-rw-r--r-- | src/corelib/concurrent/qfuturewatcher.cpp | 14 | ||||
-rw-r--r-- | src/corelib/concurrent/qfuturewatcher.h | 13 | ||||
-rw-r--r-- | src/corelib/global/qglobal.h | 10 | ||||
-rw-r--r-- | tests/auto/qfuture/versioncheck.h | 4 | ||||
-rw-r--r-- | tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp | 1 |
5 files changed, 37 insertions, 5 deletions
diff --git a/src/corelib/concurrent/qfuturewatcher.cpp b/src/corelib/concurrent/qfuturewatcher.cpp index ea12bc9..728714a 100644 --- a/src/corelib/concurrent/qfuturewatcher.cpp +++ b/src/corelib/concurrent/qfuturewatcher.cpp @@ -589,4 +589,16 @@ void QFutureWatcherBasePrivate::sendCallOutEvent(QFutureCallOutEvent *event) QT_END_NAMESPACE -#endif // QT_NO_CONCURRENT +#else + +// On Symbian winscw target QT_NO_QFUTURE and QT_NO_CONCURRENT are both defined. +// However moc will be run without having them set, so provide a dummy stub at +// least for the slots to prevent linker errors. + +void QFutureWatcherBase::cancel() { } +void QFutureWatcherBase::setPaused(bool) { } +void QFutureWatcherBase::pause() { } +void QFutureWatcherBase::resume() { } +void QFutureWatcherBase::togglePaused() { } + +#endif // QT_NO_QFUTURE diff --git a/src/corelib/concurrent/qfuturewatcher.h b/src/corelib/concurrent/qfuturewatcher.h index 5fe2007..26e549d 100644 --- a/src/corelib/concurrent/qfuturewatcher.h +++ b/src/corelib/concurrent/qfuturewatcher.h @@ -44,8 +44,6 @@ #include <QtCore/qfuture.h> -#ifndef QT_NO_QFUTURE - #include <QtCore/qobject.h> QT_BEGIN_HEADER @@ -56,6 +54,11 @@ QT_MODULE(Core) class QEvent; class QFutureWatcherBasePrivate; + +#ifdef QT_NO_QFUTURE +class QFutureInterfaceBase; +#endif + class Q_CORE_EXPORT QFutureWatcherBase : public QObject { Q_OBJECT @@ -114,6 +117,8 @@ private: virtual QFutureInterfaceBase &futureInterface() = 0; }; +#ifndef QT_NO_QFUTURE + template <typename T> class QFutureWatcher : public QFutureWatcherBase { @@ -214,9 +219,9 @@ Q_INLINE_TEMPLATE void QFutureWatcher<void>::setFuture(const QFuture<void> &_fut connectOutputInterface(); } +#endif // QT_NO_QFUTURE + QT_END_NAMESPACE QT_END_HEADER -#endif // QT_NO_CONCURRENT - #endif // QFUTUREWATCHER_H diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h index 49f5f98..3e1f011 100644 --- a/src/corelib/global/qglobal.h +++ b/src/corelib/global/qglobal.h @@ -2545,6 +2545,16 @@ QT3_SUPPORT Q_CORE_EXPORT const char *qInstallPathSysconf(); //Symbian does not support data imports from a DLL #define Q_NO_DATA_RELOCATION +// Winscw compiler is unable to compile QtConcurrent. +#ifdef Q_CC_NOKIAX86 +#ifndef QT_NO_CONCURRENT +#define QT_NO_CONCURRENT +#endif +#ifndef QT_NO_QFUTURE +#define QT_NO_QFUTURE +#endif +#endif + QT_END_NAMESPACE // forward declare std::exception #ifdef __cplusplus diff --git a/tests/auto/qfuture/versioncheck.h b/tests/auto/qfuture/versioncheck.h index 0cf7b76..32a33c8 100644 --- a/tests/auto/qfuture/versioncheck.h +++ b/tests/auto/qfuture/versioncheck.h @@ -47,3 +47,7 @@ #if defined(Q_CC_MSVC) && _MSC_VER < 1400 #define QT_NO_CONCURRENT_TEST #endif + +#if defined(Q_CC_NOKIAX86) +#define QT_NO_CONCURRENT_TEST +#endif diff --git a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp index f287450..2f1adb4 100644 --- a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp +++ b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp @@ -2418,6 +2418,7 @@ void tst_QtConcurrentMap::incrementalResults() {} void tst_QtConcurrentMap::stressTest() {} void tst_QtConcurrentMap::throttling() {} void tst_QtConcurrentMap::stlContainers() {} +void tst_QtConcurrentMap::qFutureAssignmentLeak() { } void tst_QtConcurrentMap::noDetatch() {} QTEST_NOOP_MAIN |