From 01db826ec92bd41164514518d25b1941b58e5180 Mon Sep 17 00:00:00 2001 From: iTrooz Date: Fri, 29 Nov 2024 00:58:08 +0100 Subject: [PATCH] Reset online players UI component when refreshing --- launcher/ui/pages/instance/ServersPage.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/launcher/ui/pages/instance/ServersPage.cpp b/launcher/ui/pages/instance/ServersPage.cpp index 1018c6bd3..b6ca9fe07 100644 --- a/launcher/ui/pages/instance/ServersPage.cpp +++ b/launcher/ui/pages/instance/ServersPage.cpp @@ -459,9 +459,16 @@ class ServersModel : public QAbstractListModel { currentQueryTask = new ConcurrentTask("Query servers status", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()); int row = 0; for (Server &server : m_servers) { + // reset current players + server.m_currentPlayers = {}; + emit dataChanged(index(row, 0), index(row, COLUMN_COUNT - 1)); + + // Start task to query server status auto [domain, port] = server.splitAddress(); auto *task = new ServerPingTask(domain, port); currentQueryTask->addTask(Task::Ptr(task)); + + // Update the model when the task is done connect(task, &Task::finished, this, [this, task, row, &server]() { server.m_currentPlayers = task->m_outputOnlinePlayers; emit dataChanged(index(row, 0), index(row, COLUMN_COUNT - 1));