Use std::unique_ptr for stats-table
Some checks are pending
checkrefs / lfscheck (push) Waiting to run
checkrefs / checkrefs (push) Waiting to run
lint / cppcheck (push) Waiting to run
lint / copyright (push) Waiting to run
lint / jenkinsfiles (push) Waiting to run
pre-commit / build (push) Waiting to run

This commit is contained in:
phosit 2026-04-16 19:18:12 +02:00
parent b71c1c3e8c
commit 6f82cec51f
No known key found for this signature in database
GPG key ID: C9430B600671C268
4 changed files with 6 additions and 11 deletions

View file

@ -42,8 +42,6 @@ CNetClientSession::CNetClientSession(CNetClient& client) :
CNetClientSession::~CNetClientSession()
{
ENSURE(!m_LoopRunning);
delete m_Stats;
}
bool CNetClientSession::Connect(const CStr& server, const u16 port, ENetHost* enetClient)
@ -70,9 +68,9 @@ bool CNetClientSession::Connect(const CStr& server, const u16 port, ENetHost* en
return false;
m_Stats = new CNetStatsTable(*m_Server);
m_Stats = std::make_unique<CNetStatsTable>(*m_Server);
if (CProfileViewer::IsInitialised())
g_ProfileViewer.AddRootTable(m_Stats);
g_ProfileViewer.AddRootTable(m_Stats.get());
return true;
}

View file

@ -126,7 +126,7 @@ private:
std::unique_ptr<ENetHost, DestroyHost> m_Host;
std::unique_ptr<ENetPeer, DestroyPeer> m_Server;
CNetStatsTable* m_Stats{nullptr};
std::unique_ptr<CNetStatsTable> m_Stats;
};
#endif // NETSESSION_H

View file

@ -132,9 +132,9 @@ CNetServerWorker::CNetServerWorker(const bool continueSavedGame, std::uint16_t p
throw std::runtime_error{"Failed to start server"};
}
m_Stats = new CNetStatsTable();
m_Stats = std::make_unique<CNetStatsTable>();
if (CProfileViewer::IsInitialised())
g_ProfileViewer.AddRootTable(m_Stats);
g_ProfileViewer.AddRootTable(m_Stats.get());
m_State = SERVER_STATE_PREGAME;
@ -165,9 +165,6 @@ CNetServerWorker::~CNetServerWorker()
#endif
// Clean up resources
delete m_Stats;
for (const auto& session : m_Sessions)
session->DisconnectNow(NDR_SERVER_SHUTDOWN);
}

View file

@ -266,7 +266,7 @@ private:
std::unique_ptr<ENetHost, DestroyHost> m_Host;
std::vector<std::unique_ptr<CNetServerSession>> m_Sessions;
CNetStatsTable* m_Stats{nullptr};
std::unique_ptr<CNetStatsTable> m_Stats;
NetServerState m_State{SERVER_STATE_PREGAME};