Reset server manager when entering the selection screen

So any previous servers (lan / wan) are fully cleared
This commit is contained in:
Benau
2019-01-26 16:16:11 +08:00
parent 2e08fe3b15
commit 4e830d7df7
3 changed files with 9 additions and 3 deletions

View File

@@ -64,8 +64,7 @@ void ServersManager::deallocate()
// ----------------------------------------------------------------------------
ServersManager::ServersManager()
{
m_last_load_time.store(0);
m_list_updated = false;
reset();
} // ServersManager
// ----------------------------------------------------------------------------
@@ -237,6 +236,7 @@ void ServersManager::setLanServers(const std::map<irr::core::stringw,
{
m_servers.clear();
for (auto i : servers) m_servers.emplace_back(i.second);
m_last_load_time.store(StkTime::getRealTimeMs());
m_list_updated = true;
}

View File

@@ -81,6 +81,11 @@ public:
bool listUpdated() const { return m_list_updated; }
// ------------------------------------------------------------------------
const std::vector<TransportAddress>& getBroadcastAddresses();
// ------------------------------------------------------------------------
void reset()
{
m_last_load_time.store(0);
m_list_updated = false;
}
}; // class ServersManager
#endif // HEADER_SERVERS_MANAGER_HPP

View File

@@ -165,6 +165,7 @@ void ServerSelection::init()
m_server_list_widget->setIcons(m_icon_bank, row_height);
m_sort_desc = false;
/** Triggers the loading of the server list in the servers manager. */
ServersManager::get()->reset();
refresh(true);
} // init