Skip to content
Permalink
Browse files
Merge pull request #10411 from AdmiralCurtiss/config-disallow-global-ini
Core/BaseConfigLoader: Disallow loading the MAIN_MEMORY_CARD_SIZE from the global config INI.
  • Loading branch information
AdmiralCurtiss committed Jan 29, 2022
2 parents 63df67b + ff071f8 commit a412223
Showing 1 changed file with 12 additions and 0 deletions.
@@ -19,6 +19,7 @@
#include "Common/IniFile.h"
#include "Common/Logging/Log.h"

#include "Core/Config/MainSettings.h"
#include "Core/Config/SYSCONFSettings.h"
#include "Core/ConfigLoaders/IsSettingSaveable.h"
#include "Core/ConfigManager.h"
@@ -103,6 +104,11 @@ class BaseConfigLayerLoader final : public Config::ConfigLayerLoader
BaseConfigLayerLoader() : ConfigLayerLoader(Config::LayerType::Base) {}
void Load(Config::Layer* layer) override
{
// List of settings that under no circumstances should be loaded from the global config INI.
static const auto s_setting_disallowed = {
&Config::MAIN_MEMORY_CARD_SIZE.GetLocation(),
};

LoadFromSYSCONF(layer);
for (const auto& system : system_to_ini)
{
@@ -118,6 +124,12 @@ class BaseConfigLayerLoader final : public Config::ConfigLayerLoader
for (const auto& value : section_map)
{
const Config::Location location{system.first, section_name, value.first};
const bool load_disallowed =
std::any_of(begin(s_setting_disallowed), end(s_setting_disallowed),
[&location](const Config::Location* l) { return *l == location; });
if (load_disallowed)
continue;

layer->Set(location, value.second);
}
}

0 comments on commit a412223

Please sign in to comment.