diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-09 23:03:05 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-09 23:03:05 +0300 |
commit | 4768c33dbbbbdae6e1d052016dbebf6639addfb5 (patch) | |
tree | c67cefd9499b0d5ceed2f1e10507e108afa2c24e | |
parent | 0d2b08035847b22936148e79bca61ffcbcac43f3 (diff) |
bugfix [#21055] Python: accessing ParticleEdit.hair causes segmentation violation
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 1 | ||||
-rw-r--r-- | source/blender/editors/physics/particle_edit.c | 8 |
2 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 3be01e38368..2ecb282a16e 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -579,6 +579,7 @@ void unlink_object(Scene *scene, Object *ob) if(sce->id.lib==NULL) { if(sce->camera==ob) sce->camera= NULL; if(sce->toolsettings->skgen_template==ob) sce->toolsettings->skgen_template = NULL; + if(sce->toolsettings->particle.object==ob) sce->toolsettings->particle.object= NULL; #ifdef DURIAN_CAMERA_SWITCH { diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c index c2ead76ff3e..f4486353e47 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -191,7 +191,7 @@ int PE_start_edit(PTCacheEdit *edit) ParticleEditSettings *PE_settings(Scene *scene) { - return &scene->toolsettings->particle; + return scene->toolsettings ? &scene->toolsettings->particle : NULL; } /* always gets atleast the first particlesystem even if PSYS_CURRENT flag is not set @@ -205,12 +205,12 @@ static PTCacheEdit *pe_get_current(Scene *scene, Object *ob, int create) ListBase pidlist; PTCacheID *pid; + if(pset==NULL || pset->object==NULL) + return NULL; + pset->scene = scene; pset->object = ob; - if(ob==NULL) - return NULL; - BKE_ptcache_ids_from_object(&pidlist, ob); /* in the case of only one editable thing, set pset->edittype accordingly */ |