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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2010-08-04 13:20:59 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2010-08-04 13:20:59 +0400
commit247fbfaf0321abadda3ec59fde2f32af24b594b2 (patch)
treec4ed3f6668788b2dde18f29563c612d84d08f546 /source/blender/makesrna/intern/rna_sculpt_paint.c
parent7a55728b40e1434655406c5b8d0c409718de8f9f (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.c12
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)