From 4b0a20583015a9a6a0820f980f49f019d2dcd0b5 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Wed, 27 Jun 2007 12:12:06 +0000 Subject: [PATCH] Use ARDOUR::user_config_directory in Configuration::*instant_xml Stateful::add_instant_xml was modified so it would create the user config directory if it doesn't exist, create_directories may throw if it cannot be created. This isn't a change in behaviour as ARDOUR::get_user_ardour_path also throws an exception(although I can't see any existing code to handle it) git-svn-id: svn://localhost/ardour2/trunk@2043 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/ardour/configuration.h | 2 +- libs/ardour/configuration.cc | 5 +++-- libs/pbd/stateful.cc | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/ardour/ardour/configuration.h b/libs/ardour/ardour/configuration.h index 91a1d04714..d60d40a68d 100644 --- a/libs/ardour/ardour/configuration.h +++ b/libs/ardour/ardour/configuration.h @@ -62,7 +62,7 @@ class Configuration : public PBD::Stateful int save_state (); /// calls Stateful::*instant_xml methods using - /// ARDOUR::get_user_ardour_path for the directory + /// ARDOUR::user_config_directory for the directory argument void add_instant_xml (XMLNode&); XMLNode * instant_xml (const std::string& str); diff --git a/libs/ardour/configuration.cc b/libs/ardour/configuration.cc index 25ff635556..655477e558 100644 --- a/libs/ardour/configuration.cc +++ b/libs/ardour/configuration.cc @@ -28,6 +28,7 @@ #include #include #include +#include #include "i18n.h" @@ -160,13 +161,13 @@ Configuration::save_state() void Configuration::add_instant_xml(XMLNode& node) { - Stateful::add_instant_xml (node, get_user_ardour_path()); + Stateful::add_instant_xml (node, user_config_directory ()); } XMLNode* Configuration::instant_xml(const string& node_name) { - return Stateful::instant_xml (node_name, get_user_ardour_path()); + return Stateful::instant_xml (node_name, user_config_directory ()); } diff --git a/libs/pbd/stateful.cc b/libs/pbd/stateful.cc index 691c03fbad..da014d738f 100644 --- a/libs/pbd/stateful.cc +++ b/libs/pbd/stateful.cc @@ -78,6 +78,8 @@ Stateful::extra_xml (const string& str) void Stateful::add_instant_xml (XMLNode& node, const sys::path& directory_path) { + sys::create_directories (directory_path); // may throw + if (_instant_xml == 0) { _instant_xml = new XMLNode ("instant"); }