]> git.lyx.org Git - features.git/commitdiff
Return early again if there's nothing to do. Also, mark the buffer dirty
authorRichard Heck <rgheck@comcast.net>
Mon, 25 Oct 2010 12:24:15 +0000 (12:24 +0000)
committerRichard Heck <rgheck@comcast.net>
Mon, 25 Oct 2010 12:24:15 +0000 (12:24 +0000)
only if we manage to read the autosave file successfully.

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

src/Buffer.cpp

index 2b886bebca88cbb6ace2c2e34b1a328af04c2d8d..3f2bbe57061980fd591f3d3c4df27b6d312891ed 100644 (file)
@@ -3661,31 +3661,36 @@ Buffer::ReadStatus Buffer::readAutosave(FileName const & fn)
        // Now check if autosave file is newer.
        FileName const autosaveFile(onlyPath(fn.absFileName()) 
                + '#' + onlyFileName(fn.absFileName()) + '#');
-       if (autosaveFile.exists() 
-                 && autosaveFile.lastModified() > fn.lastModified()) {
-               docstring const file = makeDisplayPath(fn.absFileName(), 20);
-               docstring const text =
-                       bformat(_("The backup of the document "
-                                 "%1$s is newer.\n\nLoad the "
-                                              "backup instead?"), file);
-               switch (Alert::prompt(_("Load backup?"), text, 0, 2,
-                                     _("&Load backup"), _("Load &original"),
-                                     _("&Cancel") ))
-               {
-               case 0:
-                       // the file is not saved if we load the autosave file.
+       if (!autosaveFile.exists() 
+                 || autosaveFile.lastModified() <= fn.lastModified()) 
+               return ReadFileNotFound;
+
+       docstring const file = makeDisplayPath(fn.absFileName(), 20);
+       docstring const text =
+               bformat(_("The backup of the document %1$s is newer.\n\n"
+                               "Load the backup instead?"), file);
+       switch (Alert::prompt(_("Load backup?"), text, 0, 2,
+                                               _("&Load backup"), _("Load &original"),
+                                               _("&Cancel") ))
+       {
+       case 0: {
+               bool success = readFile(autosaveFile);
+               // the file is not saved if we load the autosave file.
+               if (success) {
                        markDirty();
-                       return readFile(autosaveFile) ? ReadSuccess
-                               : ReadAutosaveFailure;
-               case 1:
-                       // Here we delete the autosave
-                       autosaveFile.removeFile();
-                       return ReadOriginal;
-               default:
-                       return ReadCancel;
+                       return ReadSuccess;
                }
+               return ReadAutosaveFailure;
        }
-       return ReadFileNotFound;
+       case 1:
+               // Here we delete the autosave
+               autosaveFile.removeFile();
+               return ReadOriginal;
+       default:
+               return ReadCancel;
+       }
+       // suppress warning
+       return ReadCancel;
 }