summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2007-06-27 12:12:06 +0000
committerTim Mayberry <mojofunk@gmail.com>2007-06-27 12:12:06 +0000
commit4b0a20583015a9a6a0820f980f49f019d2dcd0b5 (patch)
tree61e6f9b64a12b55ae222db89561a30f65dd54c60 /libs
parent283e8f211fc6efaa577bcb9bc7945eae42fdf8c5 (diff)
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
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/ardour/configuration.h2
-rw-r--r--libs/ardour/configuration.cc5
-rw-r--r--libs/pbd/stateful.cc2
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 <ardour/configuration.h>
#include <ardour/audio_diskstream.h>
#include <ardour/control_protocol_manager.h>
+#include <ardour/filesystem_paths.h>
#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");
}