[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