Merge pull request #105146 from Ivorforce/cowdata-unref-sanity-check

Add a safety check for `CowData::_unref()`, for when something tries to add elements during destruction.
This commit is contained in:
Thaddeus Crews
2025-05-28 09:47:39 -05:00

View File

@@ -282,6 +282,12 @@ void CowData<T>::_unref() {
// Free memory.
Memory::free_static((uint8_t *)prev_ptr - DATA_OFFSET, false);
#ifdef DEBUG_ENABLED
// If any destructors access us through pointers, it is a bug.
// We can't really test for that, but we can at least check no items have been added.
ERR_FAIL_COND_MSG(_ptr != nullptr, "Internal bug, please report: CowData was modified during destruction.");
#endif
}
template <typename T>