Compare commits
2 Commits
f5611b9d01
...
870fb9c6e3
Author | SHA1 | Date | |
---|---|---|---|
870fb9c6e3 | |||
31b39982c5 |
@@ -64,11 +64,13 @@ class AssetContainer {
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
constexpr void incRefs() const noexcept {
|
constexpr void incRefs() const noexcept {
|
||||||
|
oxAssert(m_references < ox::MaxValue<decltype(m_references)>, "reference count exceeds maximum");
|
||||||
++m_references;
|
++m_references;
|
||||||
}
|
}
|
||||||
|
|
||||||
constexpr void decRefs() const noexcept {
|
constexpr void decRefs() const noexcept {
|
||||||
--m_references;
|
--m_references;
|
||||||
|
oxAssert(m_references >= 0, "negative references");
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]]
|
[[nodiscard]]
|
||||||
@@ -162,6 +164,7 @@ template<typename T>
|
|||||||
constexpr AssetRef<T>::AssetRef(AssetContainer<T> const*c) noexcept: m_ctr(c) {
|
constexpr AssetRef<T>::AssetRef(AssetContainer<T> const*c) noexcept: m_ctr(c) {
|
||||||
if (m_ctr) {
|
if (m_ctr) {
|
||||||
m_ctr->updated.connect(this, &AssetRef::emitUpdated);
|
m_ctr->updated.connect(this, &AssetRef::emitUpdated);
|
||||||
|
m_ctr->incRefs();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user