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:
authorCampbell Barton <ideasman42@gmail.com>2007-05-26 08:39:31 +0400
committerCampbell Barton <ideasman42@gmail.com>2007-05-26 08:39:31 +0400
commit30dd4fafd13e84ed7363c0c0f6ab17a384098450 (patch)
treede0b558fe48f4a25be9d328c9b645a9795d458e4 /source/blender/python/api2_2x/Bone.c
parentea9b3dc387f5a167cf6b9e53f7be63e9b76de241 (diff)
More memory leaks fixed - in IDProp, Bone.head, tail, matrix, ob.DupObjects (my fault) and in Effect module as well as a few others.
Also stopped using Py_BuildValue for strings, ints and floats.
Diffstat (limited to 'source/blender/python/api2_2x/Bone.c')
-rw-r--r--source/blender/python/api2_2x/Bone.c42
1 files changed, 29 insertions, 13 deletions
diff --git a/source/blender/python/api2_2x/Bone.c b/source/blender/python/api2_2x/Bone.c
index 8795bb7d984..ad589615b7d 100644
--- a/source/blender/python/api2_2x/Bone.c
+++ b/source/blender/python/api2_2x/Bone.c
@@ -935,10 +935,10 @@ static int Bone_setName(BPy_Bone *self, PyObject *value, void *closure)
}
//------------------------Bone.roll (get)
static PyObject *Bone_getRoll(BPy_Bone *self, void *closure)
-{
- return Py_BuildValue("{s:O, s:O}",
- "BONESPACE", PyFloat_FromDouble((self->bone->roll * (180/Py_PI))),
- "ARMATURESPACE", PyFloat_FromDouble((boneRoll_ToArmatureSpace(self->bone) * (180/Py_PI))));
+{
+ return Py_BuildValue("{s:f, s:f}",
+ "BONESPACE", self->bone->roll * (180/Py_PI),
+ "ARMATURESPACE", boneRoll_ToArmatureSpace(self->bone) * (180/Py_PI));
}
//------------------------Bone.roll (set)
static int Bone_setRoll(BPy_Bone *self, PyObject *value, void *closure)
@@ -949,9 +949,14 @@ static int Bone_setRoll(BPy_Bone *self, PyObject *value, void *closure)
//------------------------Bone.head (get)
static PyObject *Bone_getHead(BPy_Bone *self, void *closure)
{
- return Py_BuildValue("{s:O, s:O}",
- "BONESPACE", newVectorObject(self->bone->head, 3, Py_WRAP),
- "ARMATURESPACE", newVectorObject(self->bone->arm_head, 3, Py_WRAP));
+ PyObject *val1 = newVectorObject(self->bone->head, 3, Py_WRAP);
+ PyObject *val2 = newVectorObject(self->bone->arm_head, 3, Py_WRAP);
+ PyObject *ret = Py_BuildValue(
+ "{s:O, s:O}", "BONESPACE", val1, "ARMATURESPACE", val2);
+
+ Py_DECREF(val1);
+ Py_DECREF(val2);
+ return ret;
}
//------------------------Bone.head (set)
static int Bone_setHead(BPy_Bone *self, PyObject *value, void *closure)
@@ -962,9 +967,14 @@ static int Bone_setHead(BPy_Bone *self, PyObject *value, void *closure)
//------------------------Bone.tail (get)
static PyObject *Bone_getTail(BPy_Bone *self, void *closure)
{
- return Py_BuildValue("{s:O, s:O}",
- "BONESPACE", newVectorObject(self->bone->tail, 3, Py_WRAP),
- "ARMATURESPACE", newVectorObject(self->bone->arm_tail, 3, Py_WRAP));
+ PyObject *val1 = newVectorObject(self->bone->tail, 3, Py_WRAP);
+ PyObject *val2 = newVectorObject(self->bone->arm_tail, 3, Py_WRAP);
+ PyObject *ret = Py_BuildValue("{s:O, s:O}",
+ "BONESPACE", val1, "ARMATURESPACE", val2);
+
+ Py_DECREF(val1);
+ Py_DECREF(val2);
+ return ret;
}
//------------------------Bone.tail (set)
static int Bone_setTail(BPy_Bone *self, PyObject *value, void *closure)
@@ -1108,9 +1118,15 @@ static int Bone_setChildren(BPy_Bone *self, PyObject *value, void *closure)
//------------------------Bone.matrix (get)
static PyObject *Bone_getMatrix(BPy_Bone *self, void *closure)
{
- return Py_BuildValue("{s:O, s:O}",
- "BONESPACE", newMatrixObject((float*)self->bone->bone_mat, 3,3, Py_WRAP),
- "ARMATURESPACE", newMatrixObject((float*)self->bone->arm_mat, 4,4, Py_WRAP));
+ PyObject *val1 = newMatrixObject((float*)self->bone->bone_mat, 3,3, Py_WRAP);
+ PyObject *val2 = newMatrixObject((float*)self->bone->arm_mat, 4,4, Py_WRAP);
+ PyObject *ret = Py_BuildValue("{s:O, s:O}",
+ "BONESPACE", val1, "ARMATURESPACE", val2);
+ Py_DECREF(val1);
+ Py_DECREF(val2);
+ return ret;
+
+
}
//------------------------Bone.matrix (set)
static int Bone_setMatrix(BPy_Bone *self, PyObject *value, void *closure)