summaryrefslogtreecommitdiff
path: root/src/pluginlist.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-09-16 22:32:42 +0200
committerTannin <devnull@localhost>2013-09-16 22:32:42 +0200
commit500ab7f706bdc8d4eb94db22ab60f882b2670dde (patch)
treec035d4e2399d7426008d840b5af50d166dd814a7 /src/pluginlist.cpp
parent08309b71ba45eb4e5bc632c2687e320be70e04de (diff)
- bugfix: testing for missing masters at the wrong time seems to have caused crashes
- bugfix: mod list is now written to a temporary file first. Only on success is the original file overwritten - bugfix: moving a mod priority to just above the overwrite could cause a crash or error message - bugfix: versions with a release candidate number weren't sorted correctly (woops) - bugfix: staging script didn't include archive.dll and dlls.manifest - installation time on overwrite no longer updates constantly
Diffstat (limited to 'src/pluginlist.cpp')
-rw-r--r--src/pluginlist.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/pluginlist.cpp b/src/pluginlist.cpp
index f73805fd..ea23fcdd 100644
--- a/src/pluginlist.cpp
+++ b/src/pluginlist.cpp
@@ -594,6 +594,8 @@ int PluginList::columnCount(const QModelIndex &) const
void PluginList::testMasters()
{
+// emit layoutAboutToBeChanged();
+
std::set<QString> enabledMasters;
for (auto iter = m_ESPs.begin(); iter != m_ESPs.end(); ++iter) {
if (iter->m_Enabled) {
@@ -613,7 +615,8 @@ void PluginList::testMasters()
}
}
- emit layoutChanged();
+#pragma message("emitting this seems to cause a crash!")
+// emit layoutChanged();
}
@@ -738,18 +741,18 @@ void PluginList::setPluginPriority(int row, int &newPriority)
if (!m_ESPs[row].m_IsMaster) {
// don't allow esps to be moved above esms
while ((newPriorityTemp < static_cast<int>(m_ESPsByPriority.size() - 1)) &&
- m_ESPs[m_ESPsByPriority[newPriorityTemp]].m_IsMaster) {
+ m_ESPs.at(m_ESPsByPriority.at(newPriorityTemp)).m_IsMaster) {
++newPriorityTemp;
}
} else {
// don't allow esms to be moved below esps
while ((newPriorityTemp > 0) &&
- !m_ESPs[m_ESPsByPriority[newPriorityTemp]].m_IsMaster) {
+ !m_ESPs.at(m_ESPsByPriority.at(newPriorityTemp)).m_IsMaster) {
--newPriorityTemp;
}
// also don't allow "regular" esms to be moved above primary plugins
while ((newPriorityTemp < static_cast<int>(m_ESPsByPriority.size() - 1)) &&
- (m_ESPs[m_ESPsByPriority[newPriorityTemp]].m_ForceEnabled)) {
+ (m_ESPs.at(m_ESPsByPriority.at(newPriorityTemp)).m_ForceEnabled)) {
++newPriorityTemp;
}
}
@@ -806,9 +809,9 @@ void PluginList::changePluginPriority(std::vector<int> rows, int newPriority)
}
refreshLoadOrder();
- startSaveTime();
-
emit layoutChanged();
+
+ startSaveTime();
}