PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RET

Setting all values of a tuple is such a common operation that it deserves its own macro.
Also added Py_INCREF_RET to avoid confusing use of comma operator.
This commit is contained in:
2015-01-06 16:42:22 +11:00
parent ee58d44945
commit 9fd569a654
27 changed files with 253 additions and 118 deletions

View File

@@ -32,6 +32,8 @@
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "../generic/python_utildefines.h"
#ifndef MATH_STANDALONE
# include "BLI_dynstr.h"
#endif
@@ -169,8 +171,9 @@ static PyObject *Quaternion_to_axis_angle(QuaternionObject *self)
quat__axis_angle_sanitize(axis, &angle);
ret = PyTuple_New(2);
PyTuple_SET_ITEM(ret, 0, Vector_CreatePyObject(axis, 3, NULL));
PyTuple_SET_ITEM(ret, 1, PyFloat_FromDouble(angle));
PyTuple_SET_ITEMS(ret,
Vector_CreatePyObject(axis, 3, NULL),
PyFloat_FromDouble(angle));
return ret;
}
@@ -544,7 +547,7 @@ static PyObject *Quaternion_richcmpr(PyObject *a, PyObject *b, int op)
return NULL;
}
return Py_INCREF(res), res;
return Py_INCREF_RET(res);
}
/* ---------------------SEQUENCE PROTOCOLS------------------------ */