From ce7d18bc16352e57a6c150ba65d1267c3c6ab3c3 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 9 Jan 2016 00:51:24 +0100 Subject: don't allow to delete factory presets --- libs/ardour/plugin.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libs') diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index d6c9a48805..047e151710 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -120,6 +120,12 @@ Plugin::~Plugin () void Plugin::remove_preset (string name) { + Plugin::PresetRecord const * p = preset_by_label (name); + if (!p->user) { + PBD::error << _("Cannot remove plugin factory preset.") << PBD::endmsg; + return; + } + do_remove_preset (name); _presets.erase (preset_by_label (name)->uri); @@ -133,6 +139,11 @@ Plugin::remove_preset (string name) Plugin::PresetRecord Plugin::save_preset (string name) { + if (preset_by_label (name)) { + PBD::error << _("Preset with given name already exists.") << PBD::endmsg; + return Plugin::PresetRecord (); + } + string const uri = do_save_preset (name); if (!uri.empty()) { -- cgit v1.2.3