diff options
author | Andrew <forkk@forkk.net> | 2013-12-12 17:10:43 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-12-12 17:10:43 -0600 |
commit | a954fc1a3291d7f6e984b42ba71508d521d7d945 (patch) | |
tree | 702d55421cdf3fd1e0700e588ca2a1e81e09e55e /logic/updater | |
parent | 45aa858090062dd28fb4a29da9648eca87c5e539 (diff) | |
download | MultiMC-a954fc1a3291d7f6e984b42ba71508d521d7d945.tar MultiMC-a954fc1a3291d7f6e984b42ba71508d521d7d945.tar.gz MultiMC-a954fc1a3291d7f6e984b42ba71508d521d7d945.tar.lz MultiMC-a954fc1a3291d7f6e984b42ba71508d521d7d945.tar.xz MultiMC-a954fc1a3291d7f6e984b42ba71508d521d7d945.zip |
Fix updater removing all files.
Yeah, I don't know what I was thinking, but somehow it worked before.
Diffstat (limited to 'logic/updater')
-rw-r--r-- | logic/updater/DownloadUpdateTask.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/logic/updater/DownloadUpdateTask.cpp b/logic/updater/DownloadUpdateTask.cpp index 3fe24482..250092ed 100644 --- a/logic/updater/DownloadUpdateTask.cpp +++ b/logic/updater/DownloadUpdateTask.cpp @@ -242,10 +242,18 @@ void DownloadUpdateTask::processFileLists() for (VersionFileEntry newEntry : m_nVersionFileList) { if (newEntry.path == entry.path) - continue; + { + QLOG_DEBUG() << "Not deleting" << entry.path << "because it is still present in the new version."; + goto SkipFile; + } } // If the loop reaches the end, we didn't find a match. Delete the file. m_operationList.append(UpdateOperation::DeleteOp(entry.path)); + +SkipFile: + // We goto here from the inner loop if we find an entry that has a corresponding entry in the new version's file list. + // This allows us to effectively continue the outer loop from the inner loop. + // In this case, goto is the more readable option. } // Create a network job for downloading files. |