From d7e6fd1dd65edc265b8d44928dc02cd4c76af069 Mon Sep 17 00:00:00 2001 From: LostDragonist Date: Sat, 8 Dec 2018 20:23:45 -0600 Subject: Don't disable ESMs when disabling mods if alternatives are available --- src/organizercore.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 1a5a9484..d52ef40b 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -1772,7 +1772,16 @@ void OrganizerCore::updateModActiveState(int index, bool active) QDir dir(modInfo->absolutePath()); for (const QString &esm : dir.entryList(QStringList() << "*.esm", QDir::Files)) { - m_PluginList.enableESP(esm, active); + const FileEntry::Ptr file = m_DirectoryStructure->findFile(ToWString(esm)); + if (file.get() == nullptr) { + qWarning("failed to activate %s", qPrintable(esm)); + continue; + } + + if (active != m_PluginList.isEnabled(esm) + && file->getAlternatives().empty()) { + m_PluginList.enableESP(esm, active); + } } int enabled = 0; for (const QString &esl : -- cgit v1.3.1