From c8f96a7a221d125c93bdde42572fe5dd21652cb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20L=C3=BCbe=C3=9F?= Date: Sat, 1 Mar 2025 22:37:33 +0100 Subject: [PATCH] Fixed crash when defer scope target doesn't exist --- IDEHelper/Compiler/BfStmtEvaluator.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index 8f0ee998..b0f82bbe 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -7283,7 +7283,16 @@ void BfModule::Visit(BfDeferStatement* deferStmt) scope = &mCurMethodState->mHeadScope; } else if (deferStmt->mScopeName != NULL) + { scope = FindScope(deferStmt->mScopeName, true); + + if (scope == NULL) + { + AssertErrorState(); + // The scope doesn't exist, continue with the current scope so we still get an evaluation of the deferred code + scope = mCurMethodState->mCurScope; + } + } else scope = mCurMethodState->mCurScope;