Merged changes in the trunk up to revision 44612.
Conflicts resolved: source/blender/blenloader/intern/readfile.c source/blender/bmesh/bmesh.h
This commit is contained in:
@@ -2040,12 +2040,15 @@ static void bpy_bmesh_dealloc(BPy_BMesh *self)
|
||||
{
|
||||
BMesh *bm = self->bm;
|
||||
|
||||
BM_data_layer_free(bm, &bm->vdata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->edata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->pdata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->ldata, CD_BM_ELEM_PYPTR);
|
||||
/* have have been freed by bmesh */
|
||||
if (bm) {
|
||||
BM_data_layer_free(bm, &bm->vdata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->edata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->pdata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_free(bm, &bm->ldata, CD_BM_ELEM_PYPTR);
|
||||
|
||||
bm->py_handle = NULL;
|
||||
bm->py_handle = NULL;
|
||||
}
|
||||
|
||||
PyObject_DEL(self);
|
||||
}
|
||||
@@ -2384,6 +2387,7 @@ PyObject *BPy_BMesh_CreatePyObject(BMesh *bm)
|
||||
else {
|
||||
self = PyObject_New(BPy_BMesh, &BPy_BMesh_Type);
|
||||
self->bm = bm;
|
||||
bm->py_handle = self; /* point back */
|
||||
|
||||
BM_data_layer_add(bm, &bm->vdata, CD_BM_ELEM_PYPTR);
|
||||
BM_data_layer_add(bm, &bm->edata, CD_BM_ELEM_PYPTR);
|
||||
|
||||
@@ -2470,7 +2470,7 @@ static int pyrna_prop_collection_type_check(BPy_PropertyRNA *self, PyObject *val
|
||||
}
|
||||
|
||||
/* note: currently this is a copy of 'pyrna_prop_collection_subscript' with
|
||||
* large blocks commented, we may support slice/key indicies later */
|
||||
* large blocks commented, we may support slice/key indices later */
|
||||
static int pyrna_prop_collection_ass_subscript(BPy_PropertyRNA *self, PyObject *key, PyObject *value)
|
||||
{
|
||||
PYRNA_PROP_CHECK_INT(self);
|
||||
@@ -6500,15 +6500,17 @@ static int deferred_register_prop(StructRNA *srna, PyObject *key, PyObject *item
|
||||
|
||||
py_ret = PyObject_Call(py_func, args_fake, py_kw);
|
||||
|
||||
Py_DECREF(args_fake); /* free's py_srna_cobject too */
|
||||
|
||||
if (py_ret) {
|
||||
Py_DECREF(py_ret);
|
||||
Py_DECREF(args_fake); /* free's py_srna_cobject too */
|
||||
}
|
||||
else {
|
||||
/* _must_ print before decreffing args_fake */
|
||||
PyErr_Print();
|
||||
PyErr_Clear();
|
||||
|
||||
Py_DECREF(args_fake); /* free's py_srna_cobject too */
|
||||
|
||||
// PyC_LineSpit();
|
||||
PyErr_Format(PyExc_ValueError,
|
||||
"bpy_struct \"%.200s\" registration error: "
|
||||
|
||||
Reference in New Issue
Block a user