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:
authorMitchell Stokes <mogurijin@gmail.com>2014-05-05 02:37:18 +0400
committerMitchell Stokes <mogurijin@gmail.com>2014-05-05 02:39:15 +0400
commit362b25b38287cb75e4d22b30bdbc7f47e8eb3fdf (patch)
tree6d4b60050f1a98c1fa8ac6446f451d5fe3200218 /source/gameengine/Ketsji/KX_GameObject.cpp
parentd27eea6dc6886ff900d62d77863e432d724d4de1 (diff)
Fix T39928: Blender crash/freeze when game engine is started with animation played directly on camera object with parents.
Updating object IPOs is not currently thread-safe since it also updates children. This leads to problems when parents and children are both animated. For now, updating object IPOs is done in its own loop to avoid threading issues.
Diffstat (limited to 'source/gameengine/Ketsji/KX_GameObject.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_GameObject.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp
index 7042e6ed360..9ea76980c20 100644
--- a/source/gameengine/Ketsji/KX_GameObject.cpp
+++ b/source/gameengine/Ketsji/KX_GameObject.cpp
@@ -462,6 +462,11 @@ void KX_GameObject::UpdateActionManager(float curtime)
GetActionManager()->Update(curtime);
}
+void KX_GameObject::UpdateActionIPOs()
+{
+ GetActionManager()->UpdateIPOs();
+}
+
float KX_GameObject::GetActionFrame(short layer)
{
return GetActionManager()->GetActionFrame(layer);