summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2020-07-13 00:26:43 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2020-07-17 14:53:39 -0500
commit97c9cf3e21460a2292c108e676703cdeb826a22f (patch)
tree0fafee82afb9876edd225573e8479a02b03c740d /Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp
parent58aa0150e1d3d391d5fd4e04ab402afb10a60fcc (diff)
DolphinQt / InputCommon - add DSU string validator to avoid crashes, limited backwards compatibility support
Diffstat (limited to 'Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp')
-rw-r--r--Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp
index eac6cea219..4c7f41c5e4 100644
--- a/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp
+++ b/Source/Core/DolphinQt/Config/ControllerInterface/DualShockUDPClientWidget.cpp
@@ -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)