mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-04-22 01:57:31 -05:00
Copy logic type when adding conditions
This commit is contained in:
parent
bdd489aea5
commit
584fe4b3b6
|
|
@ -264,14 +264,20 @@ void AdvSceneSwitcher::AddMacroCondition(int idx)
|
|||
}
|
||||
|
||||
std::string id;
|
||||
if (idx - 1 >= 0) {
|
||||
LogicType logic;
|
||||
if (idx >= 1) {
|
||||
id = macro->Conditions().at(idx - 1)->GetId();
|
||||
if (idx == 1) {
|
||||
logic = LogicType::NONE;
|
||||
} else {
|
||||
logic = macro->Conditions().at(idx - 1)->GetLogicType();
|
||||
}
|
||||
} else {
|
||||
MacroConditionScene temp(macro);
|
||||
id = temp.GetId();
|
||||
logic = LogicType::ROOT_NONE;
|
||||
}
|
||||
std::lock_guard<std::mutex> lock(switcher->m);
|
||||
bool root = idx == 0;
|
||||
auto cond = macro->Conditions().emplace(
|
||||
macro->Conditions().begin() + idx,
|
||||
MacroConditionFactory::Create(id, macro));
|
||||
|
|
@ -281,7 +287,6 @@ void AdvSceneSwitcher::AddMacroCondition(int idx)
|
|||
macro->Conditions().at(idx)->Load(data);
|
||||
obs_data_release(data);
|
||||
}
|
||||
auto logic = root ? LogicType::ROOT_NONE : LogicType::NONE;
|
||||
(*cond)->SetLogicType(logic);
|
||||
macro->UpdateConditionIndices();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user