[Orxonox-commit 791] r3312 - trunk/src/network

scheusso at orxonox.net scheusso at orxonox.net
Sun Jul 19 14:36:46 CEST 2009


Author: scheusso
Date: 2009-07-19 14:36:46 +0200 (Sun, 19 Jul 2009)
New Revision: 3312

Modified:
   trunk/src/network/ServerConnection.cc
   trunk/src/network/TrafficControl.cc
Log:
fix in disconnect behaviour


Modified: trunk/src/network/ServerConnection.cc
===================================================================
--- trunk/src/network/ServerConnection.cc	2009-07-19 10:31:28 UTC (rev 3311)
+++ trunk/src/network/ServerConnection.cc	2009-07-19 12:36:46 UTC (rev 3312)
@@ -124,7 +124,7 @@
     ENetEvent event;
     ClientInformation *temp = ClientInformation::getBegin();
     while(temp!=0){
-      disconnectPeer( &event );
+      disconnectClient( temp );
       temp = temp->next();
     }
     temp = ClientInformation::getBegin();

Modified: trunk/src/network/TrafficControl.cc
===================================================================
--- trunk/src/network/TrafficControl.cc	2009-07-19 10:31:28 UTC (rev 3311)
+++ trunk/src/network/TrafficControl.cc	2009-07-19 12:36:46 UTC (rev 3312)
@@ -313,10 +313,14 @@
 
   void TrafficControl::clientDisconnected(unsigned int clientID)
   {
-    assert(clientListTemp_.find(clientID) != clientListTemp_.end() );
-    assert(clientListPerm_.find(clientID) != clientListPerm_.end() );
+    if( clientListPerm_.find(clientID) == clientListPerm_.end() )
+    {
+      assert(!this->bActive_);
+      return;
+    }
     clientListTemp_.erase(clientListTemp_.find(clientID));
-    clientListPerm_.erase(clientListPerm_.find(clientID));
+    if( clientListTemp_.find(clientID) != clientListTemp_.end() )
+      clientListPerm_.erase(clientListPerm_.find(clientID));
   }
 
 




More information about the Orxonox-commit mailing list