瀏覽代碼

Enable dependencies first before enabling newly downloaded mod

Also handles the case when mod dependency is scheduled to be enabled
only after dependent mod
Ivan Savenko 1 年之前
父節點
當前提交
79ce3c7a0e
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      launcher/modManager/cmodlistview_moc.cpp

+ 7 - 0
launcher/modManager/cmodlistview_moc.cpp

@@ -876,6 +876,13 @@ void CModListView::installMods(QStringList archives)
 		auto mod = modModel->getMod(modName);
 		if(mod.isInstalled() && !mod.getValue("keepDisabled").toBool())
 		{
+			for (auto const & dependencyName : mod.getDependencies())
+			{
+				auto dependency = modModel->getMod(dependencyName);
+				if(dependency.isDisabled())
+					manager->enableMod(dependencyName);
+			}
+
 			if(mod.isDisabled() && manager->enableMod(modName))
 			{
 				for(QString child : modModel->getChildren(modName))