Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #10253 from Filoppi/fix_input_config_loading
Fix InputConfig::LoadConfig() not always replacing emu controllers values
  • Loading branch information
JosJuice committed Dec 9, 2021
2 parents e0a61ed + 689545a commit 2f4ecde
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions Source/Core/InputCommon/InputConfig.cpp
Expand Up @@ -150,22 +150,18 @@ bool InputConfig::LoadConfig(InputClass type)
}
else
{
// Only load the default profile for the first controller,
// otherwise they would all share the same mappings and default device
// Only load the default profile for the first controller and clear the others,
// otherwise they would all share the same mappings on the same (default) device
if (m_controllers.size() > 0)
{
m_controllers[0]->LoadDefaults(g_controller_interface);
m_controllers[0]->UpdateReferences(g_controller_interface);
}
// Set the "default" default device for all other controllers, or they would end up
// having no default device (which is fine, but might be confusing for some users)
const std::string& default_device_string = g_controller_interface.GetDefaultDeviceString();
if (!default_device_string.empty())
for (size_t i = 1; i < m_controllers.size(); ++i)
{
for (size_t i = 1; i < m_controllers.size(); ++i)
{
m_controllers[i]->SetDefaultDevice(default_device_string);
}
// Calling the base version just clears all settings without overwriting them with a default
m_controllers[i]->EmulatedController::LoadDefaults(g_controller_interface);
m_controllers[i]->UpdateReferences(g_controller_interface);
}
return false;
}
Expand Down

0 comments on commit 2f4ecde

Please sign in to comment.