Fix hooking server and client twice on map change
The engine sets the same server again after mapchanges.
This commit is contained in:
parent
1c7058bbec
commit
ced005af38
@ -205,7 +205,10 @@ void SourceTVManager::SelectSourceTVServer(IHLTVServer *hltv)
|
||||
#if SOURCE_ENGINE == SE_CSGO
|
||||
void SourceTVManager::OnAddHLTVServer_Post(IHLTVServer *hltv)
|
||||
{
|
||||
g_HLTVServers.AddServer(hltv);
|
||||
// Only hook this server if it's a new one.
|
||||
HLTVServerWrapper *wrapper = g_HLTVServers.GetWrapper(hltv);
|
||||
if (!wrapper)
|
||||
g_HLTVServers.AddServer(hltv);
|
||||
|
||||
// We already selected some SourceTV server. Keep it.
|
||||
if (hltvserver != nullptr)
|
||||
@ -256,7 +259,8 @@ void SourceTVManager::OnSetHLTVServer_Post(IHLTVServer *hltv)
|
||||
// Doesn't hurt either..
|
||||
g_HLTVServers.RemoveServer(hltvserver->GetHLTVServer(), true);
|
||||
}
|
||||
else
|
||||
// Only hook this server if it's a new one.
|
||||
else if (!hltvserver || g_HLTVServers.GetWrapper(hltv) != hltvserver)
|
||||
{
|
||||
g_HLTVServers.AddServer(hltv);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user