[Orxonox-commit 150] r2833 - in branches/netp/src: network/synchronisable orxonox/objects/worldentities/pawns

scheusso at orxonox.net scheusso at orxonox.net
Mon Mar 23 16:15:34 CET 2009


Author: scheusso
Date: 2009-03-23 15:15:33 +0000 (Mon, 23 Mar 2009)
New Revision: 2833

Modified:
   branches/netp/src/network/synchronisable/NetworkCallbackManager.cc
   branches/netp/src/orxonox/objects/worldentities/pawns/Pawn.cc
Log:
some bugfixes (client crashed when server was killed 2 times)


Modified: branches/netp/src/network/synchronisable/NetworkCallbackManager.cc
===================================================================
--- branches/netp/src/network/synchronisable/NetworkCallbackManager.cc	2009-03-23 13:53:10 UTC (rev 2832)
+++ branches/netp/src/network/synchronisable/NetworkCallbackManager.cc	2009-03-23 15:15:33 UTC (rev 2833)
@@ -31,7 +31,7 @@
 #include "NetworkCallback.h"
 
 namespace orxonox{
-
+  
   std::set<NetworkCallbackBase*> NetworkCallbackManager::callbackSet_;
   std::queue<NetworkCallbackBase*> NetworkCallbackManager::triggeredCallbacks_;
   
@@ -59,7 +59,9 @@
   {
     while( triggeredCallbacks_.empty()==false )
     {
-      triggeredCallbacks_.front()->call();
+      //make sure callback hasn't been deleted before
+      if ( callbackSet_.find(triggeredCallbacks_.front()) != callbackSet_.end() )
+        triggeredCallbacks_.front()->call();
       triggeredCallbacks_.pop();
     }
   }

Modified: branches/netp/src/orxonox/objects/worldentities/pawns/Pawn.cc
===================================================================
--- branches/netp/src/orxonox/objects/worldentities/pawns/Pawn.cc	2009-03-23 13:53:10 UTC (rev 2832)
+++ branches/netp/src/orxonox/objects/worldentities/pawns/Pawn.cc	2009-03-23 15:15:33 UTC (rev 2833)
@@ -128,7 +128,8 @@
         this->fire_ = this->firehack_;
         this->firehack_ = 0x0;
 
-        if (this->health_ <= 0)
+        if (Core::isMaster())
+          if (this->health_ <= 0)
             this->death();
     }
 




More information about the Orxonox-commit mailing list