QMetaType: use explicit load/store operations on QBasicAtomicInt
QBasicAtomicInt::operator int() does loadAcquire() and operator=() does storeRelease(). Change-Id: Id0fb9ab0089845ee8843fffd16f9a1ece6823777 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4c1b1f2ad884455bdebc779b6dcab5dd3815a9c9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
3cb900a18f
commit
4afbbfdfde
@ -79,8 +79,8 @@ struct QMetaTypeCustomRegistry
|
||||
{
|
||||
{
|
||||
QWriteLocker l(&lock);
|
||||
if (ti->typeId)
|
||||
return ti->typeId;
|
||||
if (int id = ti->typeId.loadRelaxed())
|
||||
return id;
|
||||
QByteArray name =
|
||||
#ifndef QT_NO_QOBJECT
|
||||
QMetaObject::normalizedType
|
||||
@ -101,11 +101,11 @@ struct QMetaTypeCustomRegistry
|
||||
registry.append(ti);
|
||||
firstEmpty = registry.size();
|
||||
}
|
||||
ti->typeId = firstEmpty + QMetaType::User;
|
||||
ti->typeId.storeRelaxed(firstEmpty + QMetaType::User);
|
||||
}
|
||||
if (ti->legacyRegisterOp)
|
||||
ti->legacyRegisterOp();
|
||||
return ti->typeId;
|
||||
return ti->typeId.loadRelaxed();
|
||||
};
|
||||
|
||||
void unregisterDynamicType(int id)
|
||||
|
Loading…
x
Reference in New Issue
Block a user