diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2014-05-05 02:37:18 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2014-05-05 02:39:15 +0400 |
commit | 362b25b38287cb75e4d22b30bdbc7f47e8eb3fdf (patch) | |
tree | 6d4b60050f1a98c1fa8ac6446f451d5fe3200218 /source/gameengine/Ketsji/KX_GameObject.cpp | |
parent | d27eea6dc6886ff900d62d77863e432d724d4de1 (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.cpp | 5 |
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); |