diff options
| author | Tannin <devnull@localhost> | 2013-09-16 22:32:42 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2013-09-16 22:32:42 +0200 |
| commit | 500ab7f706bdc8d4eb94db22ab60f882b2670dde (patch) | |
| tree | c035d4e2399d7426008d840b5af50d166dd814a7 /src/pluginlist.cpp | |
| parent | 08309b71ba45eb4e5bc632c2687e320be70e04de (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.cpp | 15 |
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(); } |
