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>2017-05-06 16:26:18 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-05-06 16:30:21 +0300
commit5cdd94a58e6bf2282f7b437ada7c2e4196f1791e (patch)
tree47f2613b077776117ede8a606e3eb424307a4e2b /source/blender/python
parent0eef40ed514b1370c78be6f6479f1d67cc4de88c (diff)
Fix PyAPI crash assigning/deleting id-properties
Caused by D113.
Diffstat (limited to 'source/blender/python')
-rw-r--r--source/blender/python/intern/bpy_rna.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index dc247f28539..7b9019e202e 100644
--- a/source/blender/python/intern/bpy_rna.c
+++ b/source/blender/python/intern/bpy_rna.c
@@ -3271,13 +3271,17 @@ static int pyrna_struct_ass_subscript(BPy_StructRNA *self, PyObject *key, PyObje
return -1;
}
- BPy_StructRNA *val = (BPy_StructRNA *)value;
- if (val && self->ptr.type && val->ptr.type) {
- if (!RNA_struct_idprops_datablock_allowed(self->ptr.type) &&
- RNA_struct_idprops_contains_datablock(val->ptr.type))
- {
- PyErr_SetString(PyExc_TypeError, "bpy_struct[key] = val: datablock id properties not supported for this type");
- return -1;
+ if (value && BPy_StructRNA_Check(value)) {
+ BPy_StructRNA *val = (BPy_StructRNA *)value;
+ if (val && self->ptr.type && val->ptr.type) {
+ if (!RNA_struct_idprops_datablock_allowed(self->ptr.type) &&
+ RNA_struct_idprops_contains_datablock(val->ptr.type))
+ {
+ PyErr_SetString(
+ PyExc_TypeError,
+ "bpy_struct[key] = val: datablock id properties not supported for this type");
+ return -1;
+ }
}
}