mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-07-02 00:22:10 -05:00
Fix temp var save / loading not working
This commit is contained in:
parent
d55bb6bc86
commit
8b0bd4193b
|
|
@ -202,6 +202,8 @@ static void appendNestedMacros(std::deque<std::shared_ptr<Macro>> ¯os,
|
|||
dynamic_cast<MacroActionMacro *>(action.get());
|
||||
if (nestedMacroAction) {
|
||||
macros.push_back(nestedMacroAction->_nestedMacro);
|
||||
appendNestedMacros(
|
||||
macros, nestedMacroAction->_nestedMacro.get());
|
||||
}
|
||||
}
|
||||
for (const auto &action : macro->ElseActions()) {
|
||||
|
|
@ -209,6 +211,8 @@ static void appendNestedMacros(std::deque<std::shared_ptr<Macro>> ¯os,
|
|||
dynamic_cast<MacroActionMacro *>(action.get());
|
||||
if (nestedMacroAction) {
|
||||
macros.push_back(nestedMacroAction->_nestedMacro);
|
||||
appendNestedMacros(
|
||||
macros, nestedMacroAction->_nestedMacro.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -301,8 +305,13 @@ void TempVariableRef::Save(obs_data_t *obj, Macro *macro,
|
|||
|
||||
void TempVariableRef::Load(obs_data_t *obj, Macro *macroPtr, const char *name)
|
||||
{
|
||||
std::deque<std::shared_ptr<Macro>> allMacros = GetMacros();
|
||||
for (const auto &topLevelMacro : GetMacros()) {
|
||||
appendNestedMacros(allMacros, topLevelMacro.get());
|
||||
}
|
||||
|
||||
std::weak_ptr<Macro> macro;
|
||||
for (const auto ¯oShared : GetMacros()) {
|
||||
for (const auto ¯oShared : allMacros) {
|
||||
if (macroShared.get() == macroPtr) {
|
||||
macro = macroShared;
|
||||
break;
|
||||
|
|
@ -340,7 +349,7 @@ void TempVariableRef::PostLoad(int idx, SegmentType type,
|
|||
return;
|
||||
}
|
||||
|
||||
Macro *macro = nullptr;
|
||||
auto macro = childMacro.get();
|
||||
for (int i = 0; i < _depth; i++) {
|
||||
macro = getParentMacro(childMacro.get());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ private:
|
|||
void PostLoad(int idx, SegmentType, const std::weak_ptr<Macro> &);
|
||||
|
||||
std::string _id = "";
|
||||
std::weak_ptr<MacroSegment> _segment;
|
||||
std::weak_ptr<MacroSegment> _segment = {};
|
||||
int _depth = 0;
|
||||
|
||||
friend TempVariable;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user