diff options
author | truelight <truelight@openttd.org> | 2006-04-14 12:19:51 +0000 |
---|---|---|
committer | truelight <truelight@openttd.org> | 2006-04-14 12:19:51 +0000 |
commit | 4a4b860ee7d7d45ad1e4e45c37fe134458ef2daa (patch) | |
tree | 3c6138af656325521d9c54a8e26448f224e35d62 | |
parent | 060d5143ef4935214a852f7a7fdaed2c7631751c (diff) | |
download | openttd-4a4b860ee7d7d45ad1e4e45c37fe134458ef2daa.tar.xz |
(svn r4413) -Fix: fixed a bug which pushed the client back to the main menu when a
server is in the mainserver-list which sends out illegal signals. Many
tnx to 'test' for finding and isolating the problem.
-Fix: also specify the problem a bit better
-rw-r--r-- | network_data.c | 2 | ||||
-rw-r--r-- | network_udp.c | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/network_data.c b/network_data.c index ce008a86a..43ed7c769 100644 --- a/network_data.c +++ b/network_data.c @@ -125,7 +125,7 @@ static NetworkRecvStatus CloseConnection(NetworkClientState *cs) NetworkCloseClient(cs); // Clients drop back to the main menu - if (!_network_server) { + if (!_network_server && _networking) { _switch_mode = SM_MENU; _networking = false; _switch_mode_errorstr = STR_NETWORK_ERR_LOSTCONNECTION; diff --git a/network_udp.c b/network_udp.c index 7fed91b10..5ee2bb6ea 100644 --- a/network_udp.c +++ b/network_udp.c @@ -328,8 +328,12 @@ static void NetworkHandleUDPPacket(Packet* p, struct sockaddr_in* client_addr) if (type < PACKET_UDP_END && _network_udp_packet[type] != NULL && !_udp_cs.quited) { _network_udp_packet[type](p, client_addr); - } else { - DEBUG(net, 0)("[NET][UDP] Received invalid packet type %d", type); + } else { + if (!_udp_cs.quited) { + DEBUG(net, 0)("[NET][UDP] Received invalid packet type %d", type); + } else { + DEBUG(net, 0)("[NET][UDP] Received illegal packet"); + } } } |