summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2019-07-31 15:53:32 +0300
committerMarc Mutz <marc.mutz@kdab.com>2019-08-06 19:16:09 +0300
commitbc6d56861b93bd87958baa3384c3cbd895f1c3f9 (patch)
tree97a35224627387a5eac25e32fffd4534ba4878e1
parentf58adac04ad8e36a840a66d14e02e5993b8099e7 (diff)
Port from QMutex::Recursive to QRecursiveMutex
In the example, also port from QMutexLocker to std::lock_guard, as the former will not support QRecursiveMutex going forward. The library code needs to wait for qt_scoped_lock to become available. Change-Id: Ide509a9db59b90fe6845a6b3b67f4a0ca40245e0 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r--examples/purchasing/qthangman/hangmangame.cpp7
-rw-r--r--examples/purchasing/qthangman/hangmangame.h2
-rw-r--r--src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp1
-rw-r--r--src/purchasing/inapppurchase/android/qandroidinapppurchasebackend_p.h2
4 files changed, 6 insertions, 6 deletions
diff --git a/examples/purchasing/qthangman/hangmangame.cpp b/examples/purchasing/qthangman/hangmangame.cpp
index 6852d77..9af8df0 100644
--- a/examples/purchasing/qthangman/hangmangame.cpp
+++ b/examples/purchasing/qthangman/hangmangame.cpp
@@ -55,9 +55,10 @@
#include <QRandomGenerator>
#include <QtConcurrent/QtConcurrentRun>
+#include <mutex>
+
HangmanGame::HangmanGame(QObject *parent)
: QObject(parent)
- , m_lock(QMutex::Recursive)
, m_vowelsUnlocked(false)
{
connect(this, &HangmanGame::vowelBought, this, &HangmanGame::registerLetterBought);
@@ -228,7 +229,7 @@ void HangmanGame::registerLetterBought(const QChar &letter)
void HangmanGame::chooseRandomWord()
{
- QMutexLocker locker(&m_lock);
+ const std::lock_guard<QRecursiveMutex> locker(m_lock);
if (m_wordList.isEmpty())
return;
@@ -238,7 +239,7 @@ void HangmanGame::chooseRandomWord()
void HangmanGame::initWordList()
{
- QMutexLocker locker(&m_lock);
+ const std::lock_guard<QRecursiveMutex> locker(m_lock);
QFile file(":/enable2.txt");
if (file.open(QIODevice::ReadOnly)) {
QByteArray allData = file.readAll();
diff --git a/examples/purchasing/qthangman/hangmangame.h b/examples/purchasing/qthangman/hangmangame.h
index dc71678..7b03bf6 100644
--- a/examples/purchasing/qthangman/hangmangame.h
+++ b/examples/purchasing/qthangman/hangmangame.h
@@ -120,7 +120,7 @@ private:
QString m_word;
QString m_lettersOwned;
QStringList m_wordList;
- QMutex m_lock;
+ QRecursiveMutex m_lock;
bool m_vowelsUnlocked;
QSettings m_persistentSettings;
int m_vowelsAvailable;
diff --git a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
index ee00591..aab454c 100644
--- a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
+++ b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend.cpp
@@ -45,7 +45,6 @@ QT_BEGIN_NAMESPACE
QAndroidInAppPurchaseBackend::QAndroidInAppPurchaseBackend(QObject *parent)
: QInAppPurchaseBackend(parent)
- , m_mutex(QMutex::Recursive)
, m_isReady(false)
{
#if defined(QANDROIDINAPPPURCHASEBACKEND_DEBUG)
diff --git a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend_p.h b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend_p.h
index 62ac31c..917d8d0 100644
--- a/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend_p.h
+++ b/src/purchasing/inapppurchase/android/qandroidinapppurchasebackend_p.h
@@ -126,7 +126,7 @@ private:
QDateTime timestamp;
};
- mutable QMutex m_mutex;
+ mutable QRecursiveMutex m_mutex;
bool m_isReady;
QAndroidJniObject m_javaObject;
QHash<QString, QInAppProduct::ProductType> m_productTypeForPendingId;