Fix crash related to highlights

A crash could occur when macro segments would be deleted while
highlighting of a segment was triggered.
This commit is contained in:
WarmUpTill
2023-01-03 00:03:06 +01:00
committed by WarmUpTill
parent f9de63bc88
commit 11571751b9
5 changed files with 7 additions and 7 deletions

View File

@@ -147,9 +147,9 @@ void MacroActionEdit::SetEntryData(std::shared_ptr<MacroAction> *data)
_entryData = data;
}
MacroSegment *MacroActionEdit::Data()
std::shared_ptr<MacroSegment> MacroActionEdit::Data()
{
return _entryData->get();
return *_entryData;
}
void AdvSceneSwitcher::AddMacroAction(int idx)

View File

@@ -44,7 +44,7 @@ private slots:
void ActionSelectionChanged(const QString &text);
private:
MacroSegment *Data();
std::shared_ptr<MacroSegment> Data();
QComboBox *_actionSelection;

View File

@@ -354,9 +354,9 @@ void MacroConditionEdit::DurationUnitChanged(DurationUnit unit)
(*_entryData)->SetDurationUnit(unit);
}
MacroSegment *MacroConditionEdit::Data()
std::shared_ptr<MacroSegment> MacroConditionEdit::Data()
{
return _entryData->get();
return *_entryData;
}
void AdvSceneSwitcher::AddMacroCondition(int idx)

View File

@@ -75,7 +75,7 @@ private slots:
private:
void SetLogicSelection();
MacroSegment *Data();
std::shared_ptr<MacroSegment> Data();
QComboBox *_logicSelection;
QComboBox *_conditionSelection;

View File

@@ -73,7 +73,7 @@ private:
BELOW,
};
virtual MacroSegment *Data() = 0;
virtual std::shared_ptr<MacroSegment> Data() = 0;
void ShowDropLine(DropLineState);
// The reason for using two separate frame widget each with their own