try to fix an issue that people do not see their server on the same PC anymore

This commit is contained in:
Volker Fischer 2020-04-11 18:35:49 +02:00
parent b080378c06
commit 61e1a73f67

View File

@ -431,9 +431,22 @@ void CServerListManager::CentralServerQueryServerList ( const CHostAddress& Inet
// otherwise, use the supplied details
if ( iIdx > iNumPredefinedServers )
{
vecServerInfo[iIdx].HostAddr.InetAddr =
ServerList[iIdx].LHostAddr.InetAddr;
// check for server running on the same PC
if ( vecServerInfo[iIdx].HostAddr.iPort == InetAddr.iPort )
{
vecServerInfo[iIdx].HostAddr.InetAddr =
QHostAddress ( QHostAddress::LocalHost );
}
else
{
// we are not on the same PC but in the same local network
vecServerInfo[iIdx].HostAddr.InetAddr =
ServerList[iIdx].LHostAddr.InetAddr;
}
// take the local port number instead of the received port
// number since some NAT (network address translation) might
// have changed the port
vecServerInfo[iIdx].HostAddr.iPort =
ServerList[iIdx].iLocalPortNumber;
}