about summary refs log tree commit diff
path: root/src/engine/client
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2012-03-04 12:47:16 +0100
committeroy <Tom_Adams@web.de>2013-02-24 17:26:59 +0100
commit13d06e45ac14d5f584462d0611f85a4e1dafcf17 (patch)
tree473e7b8e8bff5c9efb0c06b51acef10e6a1a5a43 /src/engine/client
parentffd89938d7caebe2ecd7bf18d00283e6aadea981 (diff)
downloadzcatch-13d06e45ac14d5f584462d0611f85a4e1dafcf17.tar.gz
zcatch-13d06e45ac14d5f584462d0611f85a4e1dafcf17.zip
fixed used nettype in server browser and try to use ipv4 and ipv6 socket when using a bindaddr. Closes #940
Diffstat (limited to 'src/engine/client')
-rw-r--r--src/engine/client/client.cpp9
-rw-r--r--src/engine/client/serverbrowser.cpp2
2 files changed, 8 insertions, 3 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index d5da647b..6d1d8f4f 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -1746,14 +1746,19 @@ void CClient::Run()
 	// open socket
 	{
 		NETADDR BindAddr;
-		if(g_Config.m_Bindaddr[0] == 0 || net_host_lookup(g_Config.m_Bindaddr, &BindAddr, NETTYPE_ALL) != 0)
+		if(g_Config.m_Bindaddr[0] && net_host_lookup(g_Config.m_Bindaddr, &BindAddr, NETTYPE_ALL) == 0)
+		{
+			// got bindaddr
+			BindAddr.type = NETTYPE_ALL;
+		}
+		else
 		{
 			mem_zero(&BindAddr, sizeof(BindAddr));
 			BindAddr.type = NETTYPE_ALL;
 		}
 		if(!m_NetClient.Open(BindAddr, 0))
 		{
-			dbg_msg("client", "couldn't start network");
+			dbg_msg("client", "couldn't open socket");
 			return;
 		}
 	}
diff --git a/src/engine/client/serverbrowser.cpp b/src/engine/client/serverbrowser.cpp
index 4dda9da9..588194ea 100644
--- a/src/engine/client/serverbrowser.cpp
+++ b/src/engine/client/serverbrowser.cpp
@@ -495,7 +495,7 @@ void CServerBrowser::Refresh(int Type)
 		/* do the broadcast version */
 		Packet.m_ClientID = -1;
 		mem_zero(&Packet, sizeof(Packet));
-		Packet.m_Address.type = NETTYPE_ALL|NETTYPE_LINK_BROADCAST;
+		Packet.m_Address.type = m_pNetClient->NetType()|NETTYPE_LINK_BROADCAST;
 		Packet.m_Flags = NETSENDFLAG_CONNLESS;
 		Packet.m_DataSize = sizeof(Buffer);
 		Packet.m_pData = Buffer;