diff --git a/resources/report/js/script.js b/resources/report/js/script.js index 277ff755..dd9b5418 100644 --- a/resources/report/js/script.js +++ b/resources/report/js/script.js @@ -116,17 +116,15 @@ function getConflictingPluginsFromFilter() { return loot.query(request).then(function(result){ result = JSON.parse(result); - var plugins = []; - for (var key in result) { - plugins.push(key); + for (var key in result.crcs) { for (var i = 0; i < loot.game.plugins.length; ++i) { if (loot.game.plugins[i].name == key) { - loot.game.plugins[i].crc = result[key]; + loot.game.plugins[i].crc = result.crcs[key]; break; } } } - return plugins; + return result.conflicts; }).catch(processCefError); } } diff --git a/src/gui/handler.cpp b/src/gui/handler.cpp index 7efc1f7a..88889826 100644 --- a/src/gui/handler.cpp +++ b/src/gui/handler.cpp @@ -255,16 +255,19 @@ namespace loot { g_app_state.CurrentGame().LoadPlugins(false); map conflictingPlugins; + YAML::Node node; if (pluginIt != g_app_state.CurrentGame().plugins.end()) { for (const auto& pluginPair : g_app_state.CurrentGame().plugins) { if (pluginIt->second.DoFormIDsOverlap(pluginPair.second)) { BOOST_LOG_TRIVIAL(debug) << "Found conflicting plugin: " << pluginPair.second.Name(); conflictingPlugins.emplace(pluginPair.second.Name(), pluginPair.second.Crc()); + node["conflicts"].push_back(pluginPair.second.Name()); } + node["crcs"][pluginPair.second.Name()] = pluginPair.second.Crc(); } } - callback->Success(JSON::stringify(YAML::Node(conflictingPlugins))); + callback->Success(JSON::stringify(node)); return true; } else if (requestName == "copyMetadata") {