Fix a crash issue then exporting preset bundle (#8525)

fix crashes when finding base preset
This commit is contained in:
SoftFever 2025-02-23 15:20:27 +08:00 committed by GitHub
parent 24522fdaf7
commit 70dfdb95a9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 2 deletions

View file

@ -2461,7 +2461,7 @@ const Preset *PresetCollection::get_preset_base(const Preset &child) const
// Handle user preset
if (child.inherits().empty())
return &child; // this is user root
auto inherits = find_preset(child.inherits());
auto inherits = find_preset2(child.inherits(),true);
return inherits ? get_preset_base(*inherits) : nullptr;
}

View file

@ -610,7 +610,10 @@ public:
// Orca: find preset, if not found, keep searching in the renamed history. This is function should only be used when find
// system(parent) presets for custom preset.
Preset* find_preset2(const std::string& name, bool auto_match = true);
const Preset* find_preset2(const std::string& name, bool auto_match = true) const
{
return const_cast<PresetCollection*>(this)->find_preset2(name, auto_match);
}
size_t first_visible_idx() const;
// Return index of the first compatible preset. Certainly at least the '- default -' preset shall be compatible.
// If one of the prefered_alternates is compatible, select it.