From 7914f75876465a830acd673b8d7ba7c5effa9e89 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sun, 3 Dec 2023 21:10:08 +0100 Subject: [PATCH] Fix macro references not being resolved when importing macros --- src/macro-core/macro-tab.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/macro-core/macro-tab.cpp b/src/macro-core/macro-tab.cpp index 48aa4f12..5f9fd8f9 100644 --- a/src/macro-core/macro-tab.cpp +++ b/src/macro-core/macro-tab.cpp @@ -413,13 +413,13 @@ void AdvSceneSwitcher::ImportMacros() int groupSize = 0; std::shared_ptr group; + std::vector> importedMacros; auto lock = LockContext(); for (size_t i = 0; i < count; i++) { OBSDataAutoRelease array_obj = obs_data_array_item(array, i); auto macro = std::make_shared(); macro->Load(array_obj); - macro->PostLoad(); if (macroNameExists(macro->Name()) && !ResolveMacroImportNameConflict(macro)) { @@ -427,6 +427,7 @@ void AdvSceneSwitcher::ImportMacros() continue; } + importedMacros.emplace_back(macro); switcher->macros.emplace_back(macro); if (groupSize > 0 && !macro->IsGroup()) { Macro::PrepareMoveToGroup(group, macro); @@ -443,6 +444,10 @@ void AdvSceneSwitcher::ImportMacros() } } + for (const auto ¯o : importedMacros) { + macro->PostLoad(); + } + ui->macros->Reset(switcher->macros, switcher->macroProperties._highlightExecuted); }