diff --git a/libraries/entities/src/EntityItem.cpp b/libraries/entities/src/EntityItem.cpp index 91ea4864df..f012ba6eee 100644 --- a/libraries/entities/src/EntityItem.cpp +++ b/libraries/entities/src/EntityItem.cpp @@ -1792,8 +1792,7 @@ const QByteArray EntityItem::getActionData() const { assertUnlocked(); if (_actionDataDirty) { - EntityItem* unconstThis = const_cast(this); - unconstThis->withWriteLock([&] { + withWriteLock([&] { getActionDataInternal(); result = _allActionsDataCache; }); diff --git a/libraries/shared/src/shared/ReadWriteLockable.h b/libraries/shared/src/shared/ReadWriteLockable.h index a7d30d562b..98dff4a841 100644 --- a/libraries/shared/src/shared/ReadWriteLockable.h +++ b/libraries/shared/src/shared/ReadWriteLockable.h @@ -14,7 +14,7 @@ class ReadWriteLockable { public: template - bool withWriteLock(F f, bool require = true) { + bool withWriteLock(F f, bool require = true) const { if (!require) { bool result = _lock.tryLockForWrite(); if (result) { @@ -22,7 +22,7 @@ public: _lock.unlock(); } return result; - } + } QWriteLocker locker(&_lock); f(); @@ -30,7 +30,7 @@ public: } template - bool withTryWriteLock(F f) { + bool withTryWriteLock(F f) const { return withWriteLock(f, false); }