Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Bolsee <benoit.bolsee@online.be>2008-04-25 01:26:39 +0400
committerBenoit Bolsee <benoit.bolsee@online.be>2008-04-25 01:26:39 +0400
commit9b9359120fdac93b822cfaacf98d0d498cef3887 (patch)
tree911b8c6f433422725de279f1a801ced9be05e7ca /source/gameengine/GameLogic/SCA_LogicManager.cpp
parent4d1d60e236fa90cd34b99bd06814e65255f9dc91 (diff)
BGE bug: fix a crash at game exit caused by inconsistent controller map after object deletion. The bug became apparent since the memory leaks have been fixed.
Diffstat (limited to 'source/gameengine/GameLogic/SCA_LogicManager.cpp')
-rw-r--r--source/gameengine/GameLogic/SCA_LogicManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/gameengine/GameLogic/SCA_LogicManager.cpp b/source/gameengine/GameLogic/SCA_LogicManager.cpp
index bd1c44fb91e..49f01d643e5 100644
--- a/source/gameengine/GameLogic/SCA_LogicManager.cpp
+++ b/source/gameengine/GameLogic/SCA_LogicManager.cpp
@@ -174,6 +174,14 @@ void SCA_LogicManager::RemoveSensor(SCA_ISensor* sensor)
}
}
+void SCA_LogicManager::RemoveController(SCA_IController* controller)
+{
+ std::map<SCA_ISensor*,controllerlist>::iterator sit;
+ for (sit = m_sensorcontrollermapje.begin();!(sit==m_sensorcontrollermapje.end());++sit)
+ {
+ (*sit).second.remove(controller);
+ }
+}
void SCA_LogicManager::RemoveDestroyedActuator(SCA_IActuator* actuator)