diff --git a/src/GUI/MPServersModel.cpp b/src/GUI/MPServersModel.cpp index 0d28d6b6f..f342b7346 100644 --- a/src/GUI/MPServersModel.cpp +++ b/src/GUI/MPServersModel.cpp @@ -141,6 +141,8 @@ void MPServersModel::restoreMPServerSelection() if (it != m_servers.end()) { emit restoreIndex(std::distance(m_servers.begin(), it)); + } else { + emit restoreDefault(); } } diff --git a/src/GUI/MPServersModel.h b/src/GUI/MPServersModel.h index 496e7a08d..916043c09 100644 --- a/src/GUI/MPServersModel.h +++ b/src/GUI/MPServersModel.h @@ -33,7 +33,7 @@ public: Q_INVOKABLE int portForIndex(int index) const; signals: void restoreIndex(int index); - + void restoreDefault(); private: SGSharedPtr<RemoteXMLRequest> m_mpServerRequest; diff --git a/src/GUI/MPSettings.qml b/src/GUI/MPSettings.qml index 808afefe9..7c3c98a47 100644 --- a/src/GUI/MPSettings.qml +++ b/src/GUI/MPSettings.qml @@ -48,6 +48,11 @@ Section { onRestoreIndex: { mpServer.selectedIndex = index } + + onRestoreDefault: { + console.info("Selecting default MP server"); + mpServer.selectedIndex = 0; + } } LineEdit { @@ -74,7 +79,12 @@ Section { _config.setProperty("/sim/multiplay/txport", port); } else { var sel = mpServer.selectedIndex - _config.setProperty("/sim/multiplay/txhost", _mpServers.serverForIndex(sel)); + var host = _mpServers.serverForIndex(sel); + if (host == "") { + console.warn("No host name for selected MP server " + sel) + } + + _config.setProperty("/sim/multiplay/txhost", host); var port = _mpServers.portForIndex(sel); if (port == 0) { port = defaultMPPort;