diff options
author | flow <flowlnlnln@gmail.com> | 2022-08-05 16:23:46 -0300 |
---|---|---|
committer | flow <flowlnlnln@gmail.com> | 2022-08-05 16:30:12 -0300 |
commit | 7b27f200b1f131f0ea3b23433974cbe68eb979bb (patch) | |
tree | 2998f641746755eadc90789a78c3fd6385fbf562 /launcher | |
parent | f4b207220c60b9bbc6d4ea414a419768b8913c12 (diff) | |
download | PrismLauncher-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.cpp | 8 |
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(); }; |