prevent restoration of files that are not plain old files
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Mon, 6 Mar 2023 15:40:17 +0000 (16:40 +0100)
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>
Wed, 8 Mar 2023 08:45:09 +0000 (09:45 +0100)
would prevent trying to restore pure virtual files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/libsync/syncengine.cpp

index b74b05bf3a95cf25c051048ac67b41373fd7dfe8..23c41be9e991bd8f75d3a2027dc17ab8512d0432 100644 (file)
@@ -992,9 +992,11 @@ void SyncEngine::restoreOldFiles(SyncFileItemVector &syncItems)
             syncItem->_instruction = CSYNC_INSTRUCTION_CONFLICT;
             break;
         case CSYNC_INSTRUCTION_REMOVE:
-            qCWarning(lcEngine) << "restoreOldFiles: RESTORING" << syncItem->_file;
-            syncItem->_instruction = CSYNC_INSTRUCTION_NEW;
-            syncItem->_direction = SyncFileItem::Up;
+            if (syncItem->_type != CSyncEnums::ItemTypeVirtualFile && syncItem->_type != CSyncEnums::ItemTypeVirtualFileDownload) {
+                qCWarning(lcEngine) << "restoreOldFiles: RESTORING" << syncItem->_file;
+                syncItem->_instruction = CSYNC_INSTRUCTION_NEW;
+                syncItem->_direction = SyncFileItem::Up;
+            }
             break;
         case CSYNC_INSTRUCTION_RENAME:
         case CSYNC_INSTRUCTION_NEW: