diff options
author | Johannes Schickel | 2012-09-21 02:18:54 +0200 |
---|---|---|
committer | Johannes Schickel | 2012-09-21 02:35:50 +0200 |
commit | 8aceef971106ba35ab234b165dbe6e19c842f336 (patch) | |
tree | dc1286a31068872960cd3d5925acba78a2b912a7 /engines/pegasus/ai/ai_condition.cpp | |
parent | b0079f4fa67099cec2c58e7907bf3fe09d0755cf (diff) | |
download | scummvm-rg350-8aceef971106ba35ab234b165dbe6e19c842f336.tar.gz scummvm-rg350-8aceef971106ba35ab234b165dbe6e19c842f336.tar.bz2 scummvm-rg350-8aceef971106ba35ab234b165dbe6e19c842f336.zip |
PEGASUS: Replace FunctionPtr by our Functor code in Common.
This "fixes" a segmentation fault in our buildbot's toolchain for DC.
The segmentation fault occured while compiling
engines/pegasus/ai/ai_condition.cpp.
Thanks to clone2727 for looking over this and testing it.
Diffstat (limited to 'engines/pegasus/ai/ai_condition.cpp')
-rw-r--r-- | engines/pegasus/ai/ai_condition.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/pegasus/ai/ai_condition.cpp b/engines/pegasus/ai/ai_condition.cpp index df6d3227e5..09ecbfe349 100644 --- a/engines/pegasus/ai/ai_condition.cpp +++ b/engines/pegasus/ai/ai_condition.cpp @@ -102,7 +102,7 @@ bool AIOrCondition::fireCondition() { AITimerCondition::AITimerCondition(const TimeValue time, const TimeScale scale, const bool shouldStartTimer) { _timerFuse.primeFuse(time, scale); - _timerFuse.setFunctionPtr((tFunctionPtr)&AITimerFunction, (void *)this); + _timerFuse.setFunctor(new Common::Functor0Mem<void, AITimerCondition>(this, &AITimerCondition::fire)); _fired = false; if (shouldStartTimer) @@ -138,14 +138,14 @@ void AITimerCondition::readAICondition(Common::ReadStream *stream) { _timerFuse.lightFuse(); } -void AITimerCondition::AITimerFunction(FunctionPtr *, AITimerCondition *condition) { - condition->_fired = true; -} - bool AITimerCondition::fireCondition() { return _fired; } +void AITimerCondition::fire() { + _fired = true; +} + AILocationCondition::AILocationCondition(uint32 maxLocations) { _numLocations = 0; _maxLocations = maxLocations; |