.lyx as symlinks killed when saving because of #6587 workarounds.

At the end escape for fsync would be the least hackish solution
but it needs somebody with ext4 to test with.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37348 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Pavel Sanda 2011-01-28 12:39:50 +00:00
parent 79b6602190
commit b01f5549f3

View File

@ -1055,10 +1055,15 @@ bool Buffer::save() const
backupName = FileName(addName(lyxrc.backupdir_path,
mangledName));
}
// do not copy because of #6587
if (fileName().moveTo(backupName)) {
madeBackup = true;
} else {
// Except file is symlink do not copy because of #6587.
// Hard links have bad luck.
if (fileName().isSymLink())
madeBackup = fileName().copyTo(backupName);
else
madeBackup = fileName().moveTo(backupName);
if (!madeBackup) {
Alert::error(_("Backup failure"),
bformat(_("Cannot create backup file %1$s.\n"
"Please check whether the directory exists and is writable."),