summaryrefslogtreecommitdiff
path: root/gtk2_ardour/new_session_dialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/new_session_dialog.cc')
-rw-r--r--gtk2_ardour/new_session_dialog.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/gtk2_ardour/new_session_dialog.cc b/gtk2_ardour/new_session_dialog.cc
index 7ee04b5b31..0fecaf3cf0 100644
--- a/gtk2_ardour/new_session_dialog.cc
+++ b/gtk2_ardour/new_session_dialog.cc
@@ -411,8 +411,15 @@ printf("system template path = %s\n", sys_templates_path.c_str());
//if USER template folder exists, add it to the file chooser
const std::string user_template_path = ARDOUR::get_user_ardour_path() + template_dir_name;
- if (Glib::file_test(user_template_path, Glib::FILE_TEST_IS_DIR))
- {
+ bool utp_exists = true;
+
+ if (!Glib::file_test(user_template_path, Glib::FILE_TEST_IS_DIR)) {
+ if (g_mkdir_with_parents (user_template_path.c_str(), 0755)) {
+ utp_exists = false;
+ }
+ }
+
+ if (utp_exists) {
m_template->add_shortcut_folder(user_template_path);
m_template->set_current_folder (user_template_path);
}