mirror of https://github.com/OpenTTD/OpenTTD
(svn r14731) -Fix: don't initialise UDP multiple times without closing it.
parent
afddfcb2b1
commit
ece37ca2c0
|
@ -684,8 +684,6 @@ static void NetworkInitialize()
|
||||||
_network_first_time = true;
|
_network_first_time = true;
|
||||||
|
|
||||||
_network_reconnect = 0;
|
_network_reconnect = 0;
|
||||||
|
|
||||||
NetworkUDPInitialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Query a server to fetch his game-info
|
// Query a server to fetch his game-info
|
||||||
|
@ -1189,6 +1187,7 @@ void NetworkStartUp()
|
||||||
|
|
||||||
memset(&_network_game_info, 0, sizeof(_network_game_info));
|
memset(&_network_game_info, 0, sizeof(_network_game_info));
|
||||||
|
|
||||||
|
NetworkUDPInitialize();
|
||||||
NetworkInitialize();
|
NetworkInitialize();
|
||||||
DEBUG(net, 3, "[core] network online, multiplayer available");
|
DEBUG(net, 3, "[core] network online, multiplayer available");
|
||||||
NetworkFindBroadcastIPs(_broadcast_list, MAX_INTERFACES);
|
NetworkFindBroadcastIPs(_broadcast_list, MAX_INTERFACES);
|
||||||
|
|
|
@ -34,9 +34,9 @@ enum {
|
||||||
ADVERTISE_RETRY_TIMES = 3 // give up readvertising after this much failed retries
|
ADVERTISE_RETRY_TIMES = 3 // give up readvertising after this much failed retries
|
||||||
};
|
};
|
||||||
|
|
||||||
NetworkUDPSocketHandler *_udp_client_socket; ///< udp client socket
|
NetworkUDPSocketHandler *_udp_client_socket = NULL; ///< udp client socket
|
||||||
NetworkUDPSocketHandler *_udp_server_socket; ///< udp server socket
|
NetworkUDPSocketHandler *_udp_server_socket = NULL; ///< udp server socket
|
||||||
NetworkUDPSocketHandler *_udp_master_socket; ///< udp master socket
|
NetworkUDPSocketHandler *_udp_master_socket = NULL; ///< udp master socket
|
||||||
|
|
||||||
///*** Communication with the masterserver ***/
|
///*** Communication with the masterserver ***/
|
||||||
|
|
||||||
|
@ -537,6 +537,8 @@ void NetworkUDPAdvertise()
|
||||||
|
|
||||||
void NetworkUDPInitialize()
|
void NetworkUDPInitialize()
|
||||||
{
|
{
|
||||||
|
assert(_udp_client_socket == NULL && _udp_server_socket == NULL && _udp_master_socket == NULL);
|
||||||
|
|
||||||
_udp_client_socket = new ClientNetworkUDPSocketHandler();
|
_udp_client_socket = new ClientNetworkUDPSocketHandler();
|
||||||
_udp_server_socket = new ServerNetworkUDPSocketHandler();
|
_udp_server_socket = new ServerNetworkUDPSocketHandler();
|
||||||
_udp_master_socket = new MasterNetworkUDPSocketHandler();
|
_udp_master_socket = new MasterNetworkUDPSocketHandler();
|
||||||
|
@ -552,6 +554,9 @@ void NetworkUDPShutdown()
|
||||||
delete _udp_client_socket;
|
delete _udp_client_socket;
|
||||||
delete _udp_server_socket;
|
delete _udp_server_socket;
|
||||||
delete _udp_master_socket;
|
delete _udp_master_socket;
|
||||||
|
_udp_client_socket = NULL;
|
||||||
|
_udp_server_socket = NULL;
|
||||||
|
_udp_master_socket = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
|
|
Loading…
Reference in New Issue