Local discovery tracking: On success, also wipe _renameTarget
authorChristian Kamm <mail@ckamm.de>
Thu, 28 Mar 2019 08:33:20 +0000 (09:33 +0100)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 15 Dec 2020 09:58:45 +0000 (10:58 +0100)
It's possible that the rename target was in the local discovery list.

src/libsync/localdiscoverytracker.cpp

index a55c4772440ef17bfd69f1ea950c8ea679416de0..e7b42308beefe76b31d65d3fd0d2e7604a309b0f 100644 (file)
@@ -73,6 +73,8 @@ void LocalDiscoveryTracker::slotItemCompleted(const SyncFileItemPtr &item)
                       || item->_instruction == CSYNC_INSTRUCTION_UPDATE_METADATA))) {
         if (_previousLocalDiscoveryPaths.erase(item->_file.toUtf8()))
             qCDebug(lcLocalDiscoveryTracker) << "wiped successful item" << item->_file;
+        if (!item->_renameTarget.isEmpty() && _previousLocalDiscoveryPaths.erase(item->_renameTarget.toUtf8()))
+            qCDebug(lcLocalDiscoveryTracker) << "wiped successful item" << item->_renameTarget;
     } else {
         _localDiscoveryPaths.insert(item->_file.toUtf8());
         qCDebug(lcLocalDiscoveryTracker) << "inserted error item" << item->_file;