diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 09:03:54 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-01-04 09:43:57 +0300 |
commit | 8106a6b75d45cc7472fd92f3b045697e30be8c73 (patch) | |
tree | 3b81857d4df29ce8bcc8d0043045aa6c713e4a78 /source/blender/python/mathutils/mathutils_Matrix.h | |
parent | c41431f1e9e75a424717b4080434b940c2685c20 (diff) |
mathutils: refactor instantiation
remove 'type' argument, very few mathutils objects are wrapped,
add new function for creating wrapped objects.
also fixes unlikely memory leak if the data-array can't be allocated.
Diffstat (limited to 'source/blender/python/mathutils/mathutils_Matrix.h')
-rw-r--r-- | source/blender/python/mathutils/mathutils_Matrix.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/source/blender/python/mathutils/mathutils_Matrix.h b/source/blender/python/mathutils/mathutils_Matrix.h index f94af9e540e..9ae5a4bd61d 100644 --- a/source/blender/python/mathutils/mathutils_Matrix.h +++ b/source/blender/python/mathutils/mathutils_Matrix.h @@ -61,12 +61,21 @@ typedef struct { * blender (stored in blend_data). This is an either/or struct not both */ /* prototypes */ -PyObject *Matrix_CreatePyObject(float *mat, - const unsigned short num_col, const unsigned short num_row, - int type, PyTypeObject *base_type); -PyObject *Matrix_CreatePyObject_cb(PyObject *user, - const unsigned short num_col, const unsigned short num_row, - unsigned char cb_type, unsigned char cb_subtype); +PyObject *Matrix_CreatePyObject( + const float *mat, + const unsigned short num_col, const unsigned short num_row, + PyTypeObject *base_type + ) ATTR_WARN_UNUSED_RESULT; +PyObject *Matrix_CreatePyObject_wrap( + float *mat, + const unsigned short num_col, const unsigned short num_row, + PyTypeObject *base_type + ) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1); +PyObject *Matrix_CreatePyObject_cb( + PyObject *user, + const unsigned short num_col, const unsigned short num_row, + unsigned char cb_type, unsigned char cb_subtype + ) ATTR_WARN_UNUSED_RESULT; extern unsigned char mathutils_matrix_row_cb_index; /* default */ extern unsigned char mathutils_matrix_col_cb_index; |