[Orxonox-commit 2038] r6755 - code/trunk/src/modules/pickup/items
dafrick at orxonox.net
dafrick at orxonox.net
Mon Apr 19 16:12:23 CEST 2010
Author: dafrick
Date: 2010-04-19 16:12:23 +0200 (Mon, 19 Apr 2010)
New Revision: 6755
Modified:
code/trunk/src/modules/pickup/items/InvisiblePickup.cc
code/trunk/src/modules/pickup/items/SpeedPickup.cc
Log:
Fixed Segfault upon dropping of InvisiblePickup, while it was being used.
Modified: code/trunk/src/modules/pickup/items/InvisiblePickup.cc
===================================================================
--- code/trunk/src/modules/pickup/items/InvisiblePickup.cc 2010-04-19 12:34:05 UTC (rev 6754)
+++ code/trunk/src/modules/pickup/items/InvisiblePickup.cc 2010-04-19 14:12:23 UTC (rev 6755)
@@ -112,13 +112,28 @@
if (this->isUsed())
{
- this->startPickupTimer(this->getDuration());
+ if(!this->getTimer()->isActive() && this->getTimer()->getRemainingTime() > 0.0f)
+ {
+ this->getTimer()->unpauseTimer();
+ }
+ else
+ {
+ this->startPickupTimer(this->getDuration());
+ }
this->setInvisible(true);
}
else
{
this->setInvisible(false);
- this->destroy();
+
+ if(!this->getTimer()->isActive() && this->getTimer()->getRemainingTime() == this->getDuration())
+ {
+ this->destroy();
+ }
+ else
+ {
+ this->getTimer()->pauseTimer();
+ }
}
}
Modified: code/trunk/src/modules/pickup/items/SpeedPickup.cc
===================================================================
--- code/trunk/src/modules/pickup/items/SpeedPickup.cc 2010-04-19 12:34:05 UTC (rev 6754)
+++ code/trunk/src/modules/pickup/items/SpeedPickup.cc 2010-04-19 14:12:23 UTC (rev 6755)
@@ -160,7 +160,6 @@
{
if(!this->getTimer()->isActive() && this->getTimer()->getRemainingTime() == this->getDuration())
{
- //TODO: Potentially dangerous, not only for this pickup. Think long and hard about this!!!
this->destroy();
}
else
More information about the Orxonox-commit
mailing list