@@ -192,7 +192,7 @@ QSqlDatabase *DatabaseRef::operator->() const
192192const QString DefaultsPrivate::DatabaseName (QStringLiteral(" __QtDataSync_database_%1_0x%2" ));
193193QMutex DefaultsPrivate::setupDefaultsMutex;
194194QHash<QString, QSharedPointer<DefaultsPrivate>> DefaultsPrivate::setupDefaults;
195- thread_local DefaultsPrivate::DatabaseHolder DefaultsPrivate::dbRefHash;
195+ QThreadStorage< DefaultsPrivate::DatabaseHolder> DefaultsPrivate::dbRefHash;
196196
197197void DefaultsPrivate::createDefaults (const QString &setupName, bool isPassive, const QDir &storageDir, const QUrl &roAddress, const QHash<Defaults::PropertyKey, QVariant> &properties, QJsonSerializer *serializer, ConflictResolver *resolver)
198198{
@@ -287,7 +287,7 @@ QSqlDatabase DefaultsPrivate::acquireDatabase()
287287{
288288 auto name = DefaultsPrivate::DatabaseName
289289 .arg (setupName, QString::number (reinterpret_cast <quint64>(QThread::currentThread ()), 16 ));
290- if ((dbRefHash[setupName])++ == 0 ) {
290+ if ((dbRefHash. localData () [setupName])++ == 0 ) {
291291 logDebug () << " Acquiring database for thread" << QThread::currentThread ();
292292 auto database = QSqlDatabase::addDatabase (QStringLiteral (" QSQLITE" ), name);
293293 database.setDatabaseName (storageDir.absoluteFilePath (QStringLiteral (" store.db" )));
@@ -331,7 +331,7 @@ QSqlDatabase DefaultsPrivate::acquireDatabase()
331331
332332void DefaultsPrivate::releaseDatabase ()
333333{
334- if (--(dbRefHash[setupName]) == 0 ) {
334+ if (--(dbRefHash. localData () [setupName]) == 0 ) {
335335 logDebug () << " Releasing database for thread" << QThread::currentThread ();
336336 releaseDatabaseImpl (setupName);
337337 }
0 commit comments