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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-02-09 23:03:05 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-02-09 23:03:05 +0300
commit4768c33dbbbbdae6e1d052016dbebf6639addfb5 (patch)
treec67cefd9499b0d5ceed2f1e10507e108afa2c24e /source
parent0d2b08035847b22936148e79bca61ffcbcac43f3 (diff)
bugfix [#21055] Python: accessing ParticleEdit.hair causes segmentation violation
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/object.c1
-rw-r--r--source/blender/editors/physics/particle_edit.c8
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 */