diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-08-04 13:20:59 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2010-08-04 13:20:59 +0400 |
commit | 247fbfaf0321abadda3ec59fde2f32af24b594b2 (patch) | |
tree | c4ed3f6668788b2dde18f29563c612d84d08f546 /source/blender/makesrna/intern/rna_sculpt_paint.c | |
parent | 7a55728b40e1434655406c5b8d0c409718de8f9f (diff) |
Fix crash accessing particle edit values outside of particle edit mode.
Diffstat (limited to 'source/blender/makesrna/intern/rna_sculpt_paint.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_sculpt_paint.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_sculpt_paint.c b/source/blender/makesrna/intern/rna_sculpt_paint.c index 76b22abd78f..5056d5e3ec7 100644 --- a/source/blender/makesrna/intern/rna_sculpt_paint.c +++ b/source/blender/makesrna/intern/rna_sculpt_paint.c @@ -134,7 +134,7 @@ static void rna_ParticleEdit_tool_set(PointerRNA *ptr, int value) ParticleEditSettings *pset= (ParticleEditSettings*)ptr->data; /* redraw hair completely if weight brush is/was used */ - if(pset->brushtype == PE_BRUSH_WEIGHT || value == PE_BRUSH_WEIGHT) { + if((pset->brushtype == PE_BRUSH_WEIGHT || value == PE_BRUSH_WEIGHT) && pset->scene) { Object *ob = (pset->scene->basact)? pset->scene->basact->object: NULL; if(ob) { DAG_id_flush_update(&ob->id, OB_RECALC_DATA); @@ -164,15 +164,19 @@ static int rna_ParticleEdit_editable_get(PointerRNA *ptr) { ParticleEditSettings *pset= (ParticleEditSettings*)ptr->data; - return (pset->object && PE_get_current(pset->scene, pset->object)); + return (pset->object && pset->scene && PE_get_current(pset->scene, pset->object)); } static int rna_ParticleEdit_hair_get(PointerRNA *ptr) { ParticleEditSettings *pset= (ParticleEditSettings*)ptr->data; - PTCacheEdit *edit = PE_get_current(pset->scene, pset->object); + if(pset->scene) { + PTCacheEdit *edit = PE_get_current(pset->scene, pset->object); - return (edit && edit->psys); + return (edit && edit->psys); + } + + return 0; } static void rna_Paint_active_brush_index_set(PointerRNA *ptr, int value) |