Rework temp var mapping handling on copy of macro segments

This commit is contained in:
WarmUpTill
2026-05-20 21:09:09 +02:00
parent 930e8b38d4
commit 680f72e4f9
5 changed files with 18 additions and 13 deletions

View File

@@ -57,8 +57,6 @@ void MacroEdit::PasteMacroSegment()
OBSDataAutoRelease data = obs_data_create();
copyInfo.segment->Save(data);
const MacroSegment *const original = copyInfo.segment.get();
switch (copyInfo.type) {
case MacroSegmentCopyInfo::Type::CONDITION: {
const auto condition = std::static_pointer_cast<MacroCondition>(
@@ -75,8 +73,7 @@ void MacroEdit::PasteMacroSegment()
AddMacroCondition(macro.get(), macro->Conditions().size(),
copyInfo.segment->GetId(), data.Get(), logic);
if (!macro->Conditions().empty()) {
macro->Conditions().back()->FixupVarMappingRefs(
original);
macro->Conditions().back()->FixupVarMappingRefs();
}
break;
}
@@ -84,15 +81,14 @@ void MacroEdit::PasteMacroSegment()
AddMacroAction(macro.get(), macro->Actions().size(),
copyInfo.segment->GetId(), data.Get());
if (!macro->Actions().empty()) {
macro->Actions().back()->FixupVarMappingRefs(original);
macro->Actions().back()->FixupVarMappingRefs();
}
break;
case MacroSegmentCopyInfo::Type::ELSE:
AddMacroElseAction(macro.get(), macro->ElseActions().size(),
copyInfo.segment->GetId(), data.Get());
if (!macro->ElseActions().empty()) {
macro->ElseActions().back()->FixupVarMappingRefs(
original);
macro->ElseActions().back()->FixupVarMappingRefs();
}
break;
default: