diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2019-07-31 15:53:32 +0300 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2019-08-06 19:16:09 +0300 |
commit | bc6d56861b93bd87958baa3384c3cbd895f1c3f9 (patch) | |
tree | 97a35224627387a5eac25e32fffd4534ba4878e1 | |
parent | f58adac04ad8e36a840a66d14e02e5993b8099e7 (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>
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; |