summaryrefslogtreecommitdiff
path: root/src/db/DatabaseTable.vala
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2016-06-05 04:23:39 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2016-06-05 04:23:39 +0200
commit4e10e30c2f99d552239871aa1b27a08a6c18f1a4 (patch)
treefc8426e57068733d7df20fc3a963f11cd864f079 /src/db/DatabaseTable.vala
parent0d64f78a02829282cd00dd6df691df08d29ed751 (diff)
Imported Upstream version 0.23.1upstream/0.23.1
Diffstat (limited to 'src/db/DatabaseTable.vala')
-rw-r--r--src/db/DatabaseTable.vala15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/db/DatabaseTable.vala b/src/db/DatabaseTable.vala
index 235ac06..42eac69 100644
--- a/src/db/DatabaseTable.vala
+++ b/src/db/DatabaseTable.vala
@@ -1,4 +1,4 @@
-/* Copyright 2009-2015 Yorba Foundation
+/* Copyright 2016 Software Freedom Conservancy Inc.
*
* This software is licensed under the GNU LGPL (version 2.1 or later).
* See the COPYING file in this distribution.
@@ -69,10 +69,17 @@ public abstract class DatabaseTable {
db = null;
string backup_path = filename + ".bak";
- string cmdline = "cp " + backup_path + " " + filename;
- Posix.system(cmdline);
- prepare_db(filename);
+ try {
+ File src = File.new_for_commandline_arg(backup_path);
+ File dest = File.new_for_commandline_arg(filename);
+ src.copy(dest,
+ FileCopyFlags.OVERWRITE |
+ FileCopyFlags.ALL_METADATA);
+ prepare_db(filename);
+ } catch (Error error) {
+ AppWindow.panic(_("Unable to restore photo database %s").printf(error.message));
+ }
}
// disable synchronized commits for performance reasons ... this is not vital, hence we