From 13ddbfc0d779cef9a5e880177aa3ec3817bba284 Mon Sep 17 00:00:00 2001 From: Johannes Mueller Date: Thu, 6 Jul 2017 08:07:55 +0200 Subject: [PATCH] Remove template dirs using PBD::remove_directory() This makes sure that all state directories of the template are erased properly. --- gtk2_ardour/template_dialog.cc | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/gtk2_ardour/template_dialog.cc b/gtk2_ardour/template_dialog.cc index d3d368c656..62666887a8 100644 --- a/gtk2_ardour/template_dialog.cc +++ b/gtk2_ardour/template_dialog.cc @@ -25,6 +25,7 @@ #include #include "pbd/error.h" +#include "pbd/file_utils.h" #include "pbd/i18n.h" #include "pbd/xml++.h" @@ -307,18 +308,7 @@ SessionTemplateManager::delete_selected_template () return; } - const string path = it->get_value (_template_columns.path); - const string name = it->get_value (_template_columns.name); - const string file_path = Glib::build_filename (path, name+".template"); - - if (g_unlink (file_path.c_str()) != 0) { - error << string_compose(_("Could not delete template file \"%1\": %2"), file_path, strerror (errno)) << endmsg; - return; - } - - if (g_rmdir (path.c_str()) != 0) { - error << string_compose(_("Could not delete template directory \"%1\": %2"), path, strerror (errno)) << endmsg; - } + PBD::remove_directory (it->get_value (_template_columns.path)); _template_model->erase (it); row_selection_changed (); @@ -383,6 +373,7 @@ RouteTemplateManager::delete_selected_template () error << string_compose(_("Could not delete template file \"%1\": %2"), file_path, strerror (errno)) << endmsg; return; } + PBD::remove_directory (Glib::build_filename (user_route_template_directory (), it->get_value (_template_columns.name))); _template_model->erase (it); row_selection_changed ();