From 59543188f59bf4464068ff40f936aa2d3fc763e4 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Thu, 12 Jun 2025 00:10:10 +0200 Subject: [PATCH] Some sanity checks on Direct3DRMObjectBaseImpl::Release() --- miniwin/src/internal/d3drmobject_impl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/miniwin/src/internal/d3drmobject_impl.h b/miniwin/src/internal/d3drmobject_impl.h index a4a7cd1e..16fcd8bf 100644 --- a/miniwin/src/internal/d3drmobject_impl.h +++ b/miniwin/src/internal/d3drmobject_impl.h @@ -9,10 +9,11 @@ template struct Direct3DRMObjectBaseImpl : public T { ULONG Release() override { - if (IUnknown::m_refCount == 1) { + if (T::m_refCount == 1) { for (auto it = m_callbacks.cbegin(); it != m_callbacks.cend(); it++) { it->first(this, it->second); } + m_callbacks.clear(); } SDL_free(m_name); return this->T::Release();