From 969e941854dd6e6d74da21cbc80b48c1a49899de Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 22 Sep 2017 17:16:04 +0200 Subject: Fix issue with Template manager deleting templates on no-rename If old-name equals new-name, g_rename () will fail and cleanup will delete new-path (which is equal to old-path) --- gtk2_ardour/template_dialog.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/template_dialog.cc b/gtk2_ardour/template_dialog.cc index e503be74a9..d71125bef7 100644 --- a/gtk2_ardour/template_dialog.cc +++ b/gtk2_ardour/template_dialog.cc @@ -708,6 +708,10 @@ SessionTemplateManager::rename_template (TreeModel::iterator& item, const Glib:: const string old_name = item->get_value (_template_columns.name); const string new_name = string (new_name_); + if (old_name == new_name) { + return; + } + const string old_file_old_path = Glib::build_filename (old_path, old_name+".template"); XMLTree tree; @@ -812,6 +816,10 @@ RouteTemplateManager::rename_template (TreeModel::iterator& item, const Glib::us const string old_filepath = item->get_value (_template_columns.path); const string new_filepath = Glib::build_filename (user_route_template_directory(), new_name+".template"); + if (old_name == new_name) { + return; + } + XMLTree tree; if (!tree.read (old_filepath)) { error << string_compose (_("Could not parse template file \"%1\"."), old_filepath) << endmsg; -- cgit v1.2.3