diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2014-11-03 11:18:50 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2014-11-03 11:54:01 +0100 |
commit | 6306a74a243dd8a5db85dd9c6dd04d33ecc09569 (patch) | |
tree | 73ae855c92d2b2594ee6227654bdcfd9011afbd4 | |
parent | 01c392c4582a37469195c054e5026e93e3e3551d (diff) |
Fix build of leveldb with old Qt versions
Applies a missing patch to leveldb that fixed building with older Qt
versions.
Change-Id: Ie894127d265140cbb8524e271e5779c92ab8e393
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
-rw-r--r-- | Source/ThirdParty/leveldb/port/port_qt.h | 10 | ||||
-rw-r--r-- | Source/ThirdParty/leveldb/util/env_qt.cc | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/Source/ThirdParty/leveldb/port/port_qt.h b/Source/ThirdParty/leveldb/port/port_qt.h index cc8db5fe8..556e00368 100644 --- a/Source/ThirdParty/leveldb/port/port_qt.h +++ b/Source/ThirdParty/leveldb/port/port_qt.h @@ -20,8 +20,7 @@ #ifndef STORAGE_LEVELDB_PORT_PORT_QT_H_ #define STORAGE_LEVELDB_PORT_PORT_QT_H_ -#include <QAtomicInteger> -#include <QAtomicPointer> +#include <QtCore/qatomic.h> #include <QMutex> #include <QWaitCondition> @@ -34,6 +33,8 @@ #ifdef Q_CC_MSVC #include "win/stdint.h" #define snprintf _snprintf +#else +#include <stdint.h> #endif namespace leveldb { @@ -61,7 +62,12 @@ private: Mutex* m_mutex; }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0) typedef QAtomicInteger<int> OnceType; +#else +typedef QAtomicInt OnceType; +#endif + #define LEVELDB_ONCE_INIT 0 inline void InitOnce(port::OnceType* once, void (*initializer)()) { diff --git a/Source/ThirdParty/leveldb/util/env_qt.cc b/Source/ThirdParty/leveldb/util/env_qt.cc index a90a8afdf..b9a7b18a8 100644 --- a/Source/ThirdParty/leveldb/util/env_qt.cc +++ b/Source/ThirdParty/leveldb/util/env_qt.cc @@ -194,10 +194,10 @@ public: } void waitUntilStarted() { - if (m_started) + if (m_started.loadAcquire() != 0) return; m_mutex.lock(); - if (!m_started) + if (m_started.loadAcquire() == 0) m_startCond.wait(&m_mutex); m_mutex.unlock(); } |