Only attempt to move if file exist
authorDominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
Sun, 12 Jul 2020 08:13:14 +0000 (10:13 +0200)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Mon, 13 Jul 2020 15:47:18 +0000 (17:47 +0200)
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
src/gui/folderman.cpp

index d9cb198899daaf035535924be586879478844833..c859175d633aa75a77280399be7e6c031584d9ba 100644 (file)
@@ -219,9 +219,16 @@ void FolderMan::setupFoldersHelper(QSettings &settings, AccountStatePtr account,
                 auto settings = account->settings();
 
                 auto journalFileMoveSuccess = true;
-                journalFileMoveSuccess = oldJournal.rename(folderDefinition.journalPath);
-                journalFileMoveSuccess = oldJournalShm.rename(folderDefinition.journalPath.append("-shm"));
-                journalFileMoveSuccess = oldJournalWal.rename(folderDefinition.journalPath.append("-wal"));
+                // Due to db logic can't be sure which of these file exist.
+                if (oldJournal.exists()) {
+                    journalFileMoveSuccess = oldJournal.rename(folderDefinition.journalPath);
+                }
+                if (oldJournalShm.exists()) {
+                    journalFileMoveSuccess = oldJournalShm.rename(folderDefinition.journalPath.append("-shm"));
+                }
+                if (oldJournalWal.exists()) {
+                    journalFileMoveSuccess = oldJournalWal.rename(folderDefinition.journalPath.append("-wal"));
+                }
 
                 if (!journalFileMoveSuccess) {
                     qCWarning(lcFolderMan) << "Wasn't able to move pre-2.7 syncjournal databse files to new location. One-time loss off sync settings possible.";