summaryrefslogtreecommitdiff
path: root/src/pluginlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginlist.cpp')
-rw-r--r--src/pluginlist.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index 486d6f42..da31d11c 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -340,7 +340,6 @@ void PluginList::readLockedOrderFrom(const QString &fileName)
}
}
}
-
file.close();
}
@@ -530,7 +529,6 @@ void PluginList::syncLoadOrder()
void PluginList::refreshLoadOrder()
{
syncLoadOrder();
-
// set priorities according to locked load order
std::map<int, QString> lockedLoadOrder;
std::for_each(m_LockedOrder.begin(), m_LockedOrder.end(),
@@ -550,10 +548,16 @@ void PluginList::refreshLoadOrder()
++targetPrio;
}
}
+
+ if (static_cast<size_t>(targetPrio) >= m_ESPs.size()) {
+ continue;
+ }
+
int temp = targetPrio;
- if (m_ESPs[nameIter->second].m_Priority != temp) {
- setPluginPriority(nameIter->second, temp);
- m_ESPs[nameIter->second].m_LoadOrder = iter->first;
+ int index = nameIter->second;
+ if (m_ESPs[index].m_Priority != temp) {
+ setPluginPriority(index, temp);
+ m_ESPs[index].m_LoadOrder = iter->first;
syncLoadOrder();
m_Modified = true;
}