DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support

This commit is contained in:
iwubcode
2020-07-13 00:26:43 -05:00
parent 58aa0150e1
commit 97c9cf3e21
8 changed files with 86 additions and 0 deletions

View File

@ -75,6 +75,22 @@ void DualShockUDPClientWidget::RefreshServerList()
{
m_server_list->clear();
const auto server_address_setting =
Config::Get(ciface::DualShockUDPClient::Settings::SERVER_ADDRESS);
const auto server_port_setting = Config::Get(ciface::DualShockUDPClient::Settings::SERVER_PORT);
// Update our servers setting if the user is using old configuration
if (!server_address_setting.empty() && server_port_setting != 0)
{
const auto& servers_setting = Config::Get(ciface::DualShockUDPClient::Settings::SERVERS);
Config::SetBaseOrCurrent(ciface::DualShockUDPClient::Settings::SERVERS,
servers_setting + fmt::format("{}:{}:{};", "DS4",
server_address_setting,
server_port_setting));
Config::SetBase(ciface::DualShockUDPClient::Settings::SERVER_ADDRESS, "");
Config::SetBase(ciface::DualShockUDPClient::Settings::SERVER_PORT, 0);
}
const auto& servers_setting = Config::Get(ciface::DualShockUDPClient::Settings::SERVERS);
const auto server_details = SplitString(servers_setting, ';');
for (const std::string& server_detail : server_details)