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:
authorErwin Coumans <blender@erwincoumans.com>2006-04-28 21:35:03 +0400
committerErwin Coumans <blender@erwincoumans.com>2006-04-28 21:35:03 +0400
commitbe282bdf3f70a0feba65523c418f8b1134bff35a (patch)
tree996787a1915c00d790e203fdfea5c1ead1913813 /source/gameengine/Converter/BL_ArmatureObject.cpp
parent702207f03fc169743c5ffe6d04f566ea2ed119ac (diff)
- Charlie fixed some bugs related to copying armature-constraint data (these are different from Bullet rigidbody constraints like the hinge, and point 2 point!)
- fixed a crashing bug related to objects without meshes (tried to get material info from it)
Diffstat (limited to 'source/gameengine/Converter/BL_ArmatureObject.cpp')
-rw-r--r--source/gameengine/Converter/BL_ArmatureObject.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp
index 7497f10724d..91c527f1980 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.cpp
+++ b/source/gameengine/Converter/BL_ArmatureObject.cpp
@@ -146,8 +146,16 @@ void BL_ArmatureObject::GetPose(bPose **pose)
{
/* If the caller supplies a null pose, create a new one. */
/* Otherwise, copy the armature's pose channels into the caller-supplied pose */
- if (!*pose)
- copy_pose(pose, m_pose, 0);
+
+ if (!*pose) {
+ /* probably not to good of an idea to
+ duplicate everying, but it clears up
+ a crash and memory leakage when
+ &BL_ActionActuator::m_pose is freed
+ */
+ int copy_constraint_channels_hack = 1;
+ copy_pose(pose, m_pose, copy_constraint_channels_hack);
+ }
else
extract_pose_from_pose(*pose, m_pose);