diff --git a/src/olympic/keel/include/keel/assetmanager.hpp b/src/olympic/keel/include/keel/assetmanager.hpp index 62cda92a..2719e455 100644 --- a/src/olympic/keel/include/keel/assetmanager.hpp +++ b/src/olympic/keel/include/keel/assetmanager.hpp @@ -64,11 +64,13 @@ class AssetContainer { protected: constexpr void incRefs() const noexcept { + oxAssert(m_references < ox::MaxValue, "reference count exceeds maximum"); ++m_references; } constexpr void decRefs() const noexcept { --m_references; + oxAssert(m_references >= 0, "negative references"); } [[nodiscard]] @@ -162,6 +164,7 @@ template constexpr AssetRef::AssetRef(AssetContainer const*c) noexcept: m_ctr(c) { if (m_ctr) { m_ctr->updated.connect(this, &AssetRef::emitUpdated); + m_ctr->incRefs(); } }