diff --git a/src/libsync/propagator_legacy.cpp b/src/libsync/propagator_legacy.cpp index dc714b607..b9dc7e8cd 100644 --- a/src/libsync/propagator_legacy.cpp +++ b/src/libsync/propagator_legacy.cpp @@ -695,7 +695,8 @@ void PropagateDownloadFileLegacy::start() && !FileSystem::fileEquals(fn, tmpFile.fileName()); // compare the files to see if there was an actual conflict. //In case of conflict, make a backup of the old file if (isConflict) { - QString conflictFileName = makeConflictFileName(fn, Utility::qDateTimeFromTime_t(_item._modtime)); + auto conflictDate = FileSystem::fileExists(fn) ? FileSystem::getModTime(fn) : _item._modtime; + QString conflictFileName = makeConflictFileName(fn, Utility::qDateTimeFromTime_t(conflictDate)); QString renameError; if (!FileSystem::rename(fn, conflictFileName, &renameError)) { //If the rename fails, don't replace it. diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index d8fa74a89..81d087297 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -999,8 +999,8 @@ void SyncEngine::checkForPermission() it->_direction = SyncFileItem::Down; it->_isRestoration = true; // take the things to write to the db from the "other" node (i.e: info from server) - // ^^ FIXME This might not be needed anymore since we merge the info in treewalkFile it->_modtime = it->log._other_modtime; + it->_size = it->log._other_size; it->_fileId = it->log._other_fileId; it->_etag = it->log._other_etag; it->_errorString = tr("Not allowed to upload this file because it is read-only on the server, restoring");