diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-21 18:35:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-12-21 18:35:47 +0400 |
commit | f72b86da8cab4bff482fc58095d14c97823fa39f (patch) | |
tree | e0d7e68eca1b92a837deff9b5bd36e04824a930a /source/blender/makesrna/intern/rna_object_force.c | |
parent | b9d732e0472388460880c26ff4d503daac374ab1 (diff) |
Fix T37906: Adding force field settings to boids gives hard crash
Was a regression since fix for another bug T37189.
Diffstat (limited to 'source/blender/makesrna/intern/rna_object_force.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_object_force.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c index b8cf7a13b74..cab9287fff1 100644 --- a/source/blender/makesrna/intern/rna_object_force.c +++ b/source/blender/makesrna/intern/rna_object_force.c @@ -525,13 +525,19 @@ static void rna_FieldSettings_shape_update(Main *bmain, Scene *scene, PointerRNA static void rna_FieldSettings_type_set(PointerRNA *ptr, int value) { - Object *ob = (Object *)ptr->id.data; - ob->pd->forcefield = value; - if (ELEM(value, PFIELD_WIND, PFIELD_VORTEX)) { - ob->empty_drawtype = OB_SINGLE_ARROW; - } - else { - ob->empty_drawtype = OB_PLAINAXES; + PartDeflect *part_deflect = (PartDeflect *) ptr->data; + + part_deflect->forcefield = value; + + if (!particle_id_check(ptr)) { + Object *ob = (Object *)ptr->id.data; + ob->pd->forcefield = value; + if (ELEM(value, PFIELD_WIND, PFIELD_VORTEX)) { + ob->empty_drawtype = OB_SINGLE_ARROW; + } + else { + ob->empty_drawtype = OB_PLAINAXES; + } } } |