aboutsummaryrefslogtreecommitdiff
path: root/launcher
diff options
context:
space:
mode:
authorflow <flowlnlnln@gmail.com>2022-08-05 16:23:46 -0300
committerflow <flowlnlnln@gmail.com>2022-08-05 16:30:12 -0300
commit7b27f200b1f131f0ea3b23433974cbe68eb979bb (patch)
tree2998f641746755eadc90789a78c3fd6385fbf562 /launcher
parentf4b207220c60b9bbc6d4ea414a419768b8913c12 (diff)
downloadPrismLauncher-7b27f200b1f131f0ea3b23433974cbe68eb979bb.tar.gz
PrismLauncher-7b27f200b1f131f0ea3b23433974cbe68eb979bb.tar.bz2
PrismLauncher-7b27f200b1f131f0ea3b23433974cbe68eb979bb.zip
fix: don't mutate QHash while iterating over it
Even though it was using a QMutableHashIterator, sometimes it didn't work quite well, so this is a bit better. Signed-off-by: flow <flowlnlnln@gmail.com>
Diffstat (limited to 'launcher')
-rw-r--r--launcher/modplatform/EnsureMetadataTask.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/launcher/modplatform/EnsureMetadataTask.cpp b/launcher/modplatform/EnsureMetadataTask.cpp
index 11bdb99d..42137398 100644
--- a/launcher/modplatform/EnsureMetadataTask.cpp
+++ b/launcher/modplatform/EnsureMetadataTask.cpp
@@ -119,11 +119,9 @@ void EnsureMetadataTask::executeTask()
}
auto invalidade_leftover = [this] {
- QMutableHashIterator<QString, Mod*> mods_iter(m_mods);
- while (mods_iter.hasNext()) {
- auto mod = mods_iter.next();
- emitFail(mod.value(), mod.key());
- }
+ for (auto mod = m_mods.constBegin(); mod != m_mods.constEnd(); mod++)
+ emitFail(mod.value(), mod.key(), RemoveFromList::No);
+ m_mods.clear();
emitSucceeded();
};