[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30688] trunk/blender/source/gameengine: Fixing a crash when using either BL_ArmatureBone. parent and BL_ArmatureBone.children.

Mitchell Stokes mogurijin at gmail.com
Sat Jul 24 11:26:05 CEST 2010


Revision: 30688
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30688
Author:   moguri
Date:     2010-07-24 11:26:05 +0200 (Sat, 24 Jul 2010)

Log Message:
-----------
Fixing a crash when using either BL_ArmatureBone.parent and BL_ArmatureBone.children.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_ArmatureChannel.cpp
    trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_ArmatureChannel.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_ArmatureChannel.cpp	2010-07-24 08:47:14 UTC (rev 30687)
+++ trunk/blender/source/gameengine/Converter/BL_ArmatureChannel.cpp	2010-07-24 09:26:05 UTC (rev 30688)
@@ -432,13 +432,13 @@
 	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_cast<Bone*>BGE_PROXY_PTR(self);
+	Bone* bone = reinterpret_cast<Bone*>(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_children(void *self, const struct KX_PYATTRIBUTE_DEF *attrdef)
 {
-	Bone* bone = reinterpret_cast<Bone*>BGE_PROXY_PTR(self);
+	Bone* bone = reinterpret_cast<Bone*>(self);
 	Bone* child;
 	int count = 0;
 	for (child=(Bone*)bone->childbase.first; child; child=(Bone*)child->next)

Modified: trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
===================================================================
--- trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2010-07-24 08:47:14 UTC (rev 30687)
+++ trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp	2010-07-24 09:26:05 UTC (rev 30688)
@@ -278,7 +278,7 @@
 		// 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)





More information about the Bf-blender-cvs mailing list