summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2014-11-03 11:18:50 +0100
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2014-11-03 11:54:01 +0100
commit6306a74a243dd8a5db85dd9c6dd04d33ecc09569 (patch)
tree73ae855c92d2b2594ee6227654bdcfd9011afbd4
parent01c392c4582a37469195c054e5026e93e3e3551d (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.h10
-rw-r--r--Source/ThirdParty/leveldb/util/env_qt.cc4
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();
}