From 0b92b9b871cce498cd0f2a974561a2ed3537050e Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 24 Sep 2023 11:46:39 +0200 Subject: [PATCH] Fix setLocalVar not correctly flushing script when not setting static var --- .../Menu/Sequence/EventHandlerSetScopeSequences.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ObjLoading/Parsing/Menu/Sequence/EventHandlerSetScopeSequences.cpp b/src/ObjLoading/Parsing/Menu/Sequence/EventHandlerSetScopeSequences.cpp index 07b011d4..486a5647 100644 --- a/src/ObjLoading/Parsing/Menu/Sequence/EventHandlerSetScopeSequences.cpp +++ b/src/ObjLoading/Parsing/Menu/Sequence/EventHandlerSetScopeSequences.cpp @@ -580,8 +580,13 @@ namespace menu::event_handler_set_scope_sequences state->m_current_script << "\" ; "; } - static void EmitDynamicSetLocalVar(const MenuFileParserState* state, const SetLocalVarType type, const std::string& varName, std::unique_ptr expression) + static void EmitDynamicSetLocalVar(MenuFileParserState* state, const SetLocalVarType type, const std::string& varName, std::unique_ptr expression) { + auto remainingScript = state->m_current_script.str(); + if (!remainingScript.empty()) + state->m_current_nested_event_handler_set->m_elements.emplace_back(std::make_unique(std::move(remainingScript))); + state->m_current_script.str(std::string()); + state->m_current_nested_event_handler_set->m_elements.emplace_back(std::make_unique(type, varName, std::move(expression))); }