From 257616432520a65633fbb3aafdfc0425e2b5ea91 Mon Sep 17 00:00:00 2001 From: celestar Date: Fri, 28 Apr 2006 07:53:10 +0000 Subject: [PATCH] (svn r4608) -Backported r4413 from trunk: -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 --- network_data.c | 2 +- network_udp.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/network_data.c b/network_data.c index 827081a4ef..75e6e178ca 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 06b5b83dea..6ce80ad81b 100644 --- a/network_udp.c +++ b/network_udp.c @@ -331,8 +331,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"); + } } }