diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-11 09:45:59 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-11 09:45:59 +0400 |
commit | 93e4de755243f7f8b839375d4dd4f75965198334 (patch) | |
tree | cfa9db7e1451bf12794b7473e48dd6a43c9e9233 /source/blender/makesrna/intern/rna_ID.c | |
parent | 85a2280c861122da70a26da0c664bc1c4615efcd (diff) |
fix for py/rna assigning an invalid index. also give better error message in this case.
Diffstat (limited to 'source/blender/makesrna/intern/rna_ID.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_ID.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index ddd0fcc1007..b366a23c19a 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -317,9 +317,15 @@ static int rna_IDPArray_length(PointerRNA *ptr) int rna_IDMaterials_assign_int(PointerRNA *ptr, int key, const PointerRNA *assign_ptr) { ID *id= ptr->id.data; + short *totcol= give_totcolp_id(id); Material *mat_id= assign_ptr->id.data; - assign_material_id(id, mat_id, key + 1); - return 1; + if(totcol && (key >= 0 && key < *totcol)) { + assign_material_id(id, mat_id, key + 1); + return 1; + } + else { + return 0; + } } #else |