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);
|
QWriteLocker l(&lock);
|
||||||
if (ti->typeId)
|
if (int id = ti->typeId.loadRelaxed())
|
||||||
return ti->typeId;
|
return id;
|
||||||
QByteArray name =
|
QByteArray name =
|
||||||
#ifndef QT_NO_QOBJECT
|
#ifndef QT_NO_QOBJECT
|
||||||
QMetaObject::normalizedType
|
QMetaObject::normalizedType
|
||||||
@ -101,11 +101,11 @@ struct QMetaTypeCustomRegistry
|
|||||||
registry.append(ti);
|
registry.append(ti);
|
||||||
firstEmpty = registry.size();
|
firstEmpty = registry.size();
|
||||||
}
|
}
|
||||||
ti->typeId = firstEmpty + QMetaType::User;
|
ti->typeId.storeRelaxed(firstEmpty + QMetaType::User);
|
||||||
}
|
}
|
||||||
if (ti->legacyRegisterOp)
|
if (ti->legacyRegisterOp)
|
||||||
ti->legacyRegisterOp();
|
ti->legacyRegisterOp();
|
||||||
return ti->typeId;
|
return ti->typeId.loadRelaxed();
|
||||||
};
|
};
|
||||||
|
|
||||||
void unregisterDynamicType(int id)
|
void unregisterDynamicType(int id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user