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)


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to