summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state_utils.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2012-06-23 05:07:33 +0000
committerTim Mayberry <mojofunk@gmail.com>2012-06-23 05:07:33 +0000
commit28ca6442749a1241915faa35367ce6df6d997671 (patch)
tree1ef5fe145ced24f4ad5e04c6756d2367eca9173d /libs/ardour/session_state_utils.cc
parent8cb88c8c2e6f605342b373ebaad5bbd4334ec7e8 (diff)
Use giomm in ARDOUR::create_backup_file to copy file for portablity
git-svn-id: svn://localhost/ardour2/branches/3.0@12846 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_state_utils.cc')
-rw-r--r--libs/ardour/session_state_utils.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/libs/ardour/session_state_utils.cc b/libs/ardour/session_state_utils.cc
index be71289a17..42551b9945 100644
--- a/libs/ardour/session_state_utils.cc
+++ b/libs/ardour/session_state_utils.cc
@@ -20,6 +20,8 @@
#include <glibmm/fileutils.h>
+#include <giomm/file.h>
+
#include "pbd/compose.h"
#include "pbd/error.h"
#include "pbd/file_utils.h"
@@ -40,13 +42,14 @@ create_backup_file (const std::string & file_path)
{
if (!Glib::file_test (file_path, Glib::FILE_TEST_EXISTS)) return false;
- std::string backup_path(file_path + backup_suffix);
+ Glib::RefPtr<Gio::File> backup_path = Gio::File::create_for_path(file_path + backup_suffix);
+ Glib::RefPtr<Gio::File> path = Gio::File::create_for_path(file_path);
try
{
- sys::copy_file (file_path, backup_path);
+ path->copy (backup_path);
}
- catch(sys::filesystem_error& ex)
+ catch(const Glib::Exception& ex)
{
error << string_compose (_("Unable to create a backup copy of file %1 (%2)"),
file_path, ex.what())