From eabbbcdff9c26f5d8e757e7103e63d004d606410 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Sat, 24 Jul 2010 09:26:05 +0000 Subject: [PATCH] Fixing a crash when using either BL_ArmatureBone.parent and BL_ArmatureBone.children. --- source/gameengine/Converter/BL_ArmatureChannel.cpp | 6 +++--- source/gameengine/Expressions/PyObjectPlus.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/gameengine/Converter/BL_ArmatureChannel.cpp b/source/gameengine/Converter/BL_ArmatureChannel.cpp index 4bf2117c5c5..2ce29a76b56 100644 --- a/source/gameengine/Converter/BL_ArmatureChannel.cpp +++ b/source/gameengine/Converter/BL_ArmatureChannel.cpp @@ -432,13 +432,13 @@ PyAttributeDef BL_ArmatureBone::AttributesPtr[] = { KX_PYATTRIBUTE_FLOAT_MATRIX_RO("arm_mat",Bone,arm_mat,4), KX_PYATTRIBUTE_FLOAT_MATRIX_RO("bone_mat",Bone,bone_mat,4), KX_PYATTRIBUTE_RO_FUNCTION("parent",BL_ArmatureBone,py_bone_get_parent), - KX_PYATTRIBUTE_RO_FUNCTION("children",BL_ArmatureBone,py_bone_get_parent), + KX_PYATTRIBUTE_RO_FUNCTION("children",BL_ArmatureBone,py_bone_get_children), { NULL } //Sentinel }; PyObject *BL_ArmatureBone::py_bone_get_parent(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef) { - Bone* bone = reinterpret_castBGE_PROXY_PTR(self); + Bone* bone = reinterpret_cast(self); if (bone->parent) { // create a proxy unconnected to any GE object return NewProxyPlus_Ext(NULL,&Type,bone->parent,false); @@ -448,7 +448,7 @@ PyObject *BL_ArmatureBone::py_bone_get_parent(void *self, const struct KX_PYATTR PyObject *BL_ArmatureBone::py_bone_get_children(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef) { - Bone* bone = reinterpret_castBGE_PROXY_PTR(self); + Bone* bone = reinterpret_cast(self); Bone* child; int count = 0; for (child=(Bone*)bone->childbase.first; child; child=(Bone*)child->next) diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp index e2642566a80..32bf4ba95c4 100644 --- a/source/gameengine/Expressions/PyObjectPlus.cpp +++ b/source/gameengine/Expressions/PyObjectPlus.cpp @@ -278,7 +278,7 @@ PyObject *PyObjectPlus::py_get_attrdef(PyObject *self_py, const PyAttributeDef * // the attribute has no field correspondance, handover processing to function. if (attrdef->m_getFunction == NULL) return NULL; - return (*attrdef->m_getFunction)(ref, attrdef); + return (*attrdef->m_getFunction)(ptr, attrdef); } ptr += attrdef->m_offset; if (attrdef->m_length > 1)