summaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2015-05-11 21:40:35 +0200
committerTannin <devnull@localhost>2015-05-11 21:40:35 +0200
commit0f1271dd991ba9d67181114f75c80e14e8bfd596 (patch)
tree732928f08f16ba8d3520fb71722b651e31810289 /src/mainwindow.cpp
parentdbdc2538f98147c7661cac00fe135df59aeb04e3 (diff)
- bugfix: moving a mod didn't properly update conflict highlighting
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index b5347d4d..135bdf8c 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1854,6 +1854,14 @@ void MainWindow::modorder_changed()
QModelIndex current = ui->modList->currentIndex();
if (current.isValid()) {
ModInfo::Ptr modInfo = ModInfo::getByIndex(current.data(Qt::UserRole + 1).toInt());
+ // clear caches on all mods conflicting with the moved mod
+ for (int i : modInfo->getModOverwrite()) {
+ ModInfo::getByIndex(i)->clearCaches();
+ }
+ for (int i : modInfo->getModOverwritten()) {
+ ModInfo::getByIndex(i)->clearCaches();
+ }
+ // update conflict check on the moved mod
modInfo->doConflictCheck();
m_OrganizerCore.modList()->setOverwriteMarkers(modInfo->getModOverwrite(), modInfo->getModOverwritten());
if (m_ModListSortProxy != nullptr) {