From c69b7341838f86f73519e20b83996b609cda7f6c Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Wed, 24 May 2023 15:15:02 +0200 Subject: block destructors from throwing exceptions (#321) * ~FileMapping() is not allowed to throw exceptions * ~ScopedActivityBase() should not call ZEN_ASSERT (which causes SIGABORT on error) * ProjectStore::Project::WriteAccessTimes() which is called from ProjectStore::~Project() must not throw exceptions * changelog --- src/zencore/logging.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/zencore/logging.cpp') diff --git a/src/zencore/logging.cpp b/src/zencore/logging.cpp index 07b379cba..dc923f45e 100644 --- a/src/zencore/logging.cpp +++ b/src/zencore/logging.cpp @@ -131,7 +131,11 @@ ScopedActivityBase::ScopedActivityBase() : m_NextScope{t_ScopeStack} ScopedActivityBase::~ScopedActivityBase() { - ZEN_ASSERT(t_ScopeStack == this); + if (t_ScopeStack != this) + { + ZEN_ERROR("invalid t_ScopeStack in ~ScopedActivityBase(). Expected {:#x}, found {:#x}", (uintptr_t)this, (uintptr_t)t_ScopeStack); + return; + } t_ScopeStack = m_NextScope; } -- cgit v1.2.3