]> git.lyx.org Git - lyx.git/commitdiff
Adjust the location of the autosave file for unnamed docs.
authorVincent van Ravesteijn <vfr@lyx.org>
Sun, 3 May 2009 10:24:12 +0000 (10:24 +0000)
committerVincent van Ravesteijn <vfr@lyx.org>
Sun, 3 May 2009 10:24:12 +0000 (10:24 +0000)
If the document is unnamed try to save in the backup dir, else in the default document path, and as a last try in the filePath, which will most often be the temporary directory.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29508 a592a061-630c-0410-9148-cb99ea01b6c8

src/Buffer.cpp

index 9970af3181b78566a5c00b3746b55dab74d624f0..bc3585ebe9bb57856bf8fdb496aaf303d98b5157 100644 (file)
@@ -2607,7 +2607,16 @@ int AutoSaveBuffer::generateChild()
 
 FileName Buffer::getAutosaveFilename() const
 {
-       string const fpath = isUnnamed() ? lyxrc.document_path : filePath();
+       // if the document is unnamed try to save in the backup dir, else
+       // in the default document path, and as a last try in the filePath, 
+       // which will most often be the temporary directory
+       string fpath;
+       if (isUnnamed())
+               fpath = lyxrc.backupdir_path.empty() ? lyxrc.document_path
+                       : lyxrc.backupdir_path;
+       if (!isUnnamed() || fpath.empty() || !FileName(fpath).exists())
+               fpath = filePath();
+
        string const fname = "#" + d->filename.onlyFileName() + "#";
        return makeAbsPath(fname, fpath);
 }