diff options
author | Bastien Montagne <bastien@blender.org> | 2021-05-21 15:57:29 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-05-21 18:22:43 +0300 |
commit | 24deeee09e6ba8719fe69af5346eda9d521b0312 (patch) | |
tree | e85c8210b7a21e314ae5662cd08fa45ef359c368 /source | |
parent | adf2f146d89dfb508bf549737ee393d9424c646b (diff) |
Fix some RNA physics accessors creating data.
Accessing data through RNA should never implicitely create it. Objects'
and particles' forcefields and collision settings were doing this.
Note that UI code also had to be tweaked to properly handle `None`
(NULL) cases.
Differential Revision: https://developer.blender.org/D11341
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/makesrna/intern/rna_object.c | 10 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_particle.c | 12 |
2 files changed, 0 insertions, 22 deletions
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c index 1dc7519258b..b339682222c 100644 --- a/source/blender/makesrna/intern/rna_object.c +++ b/source/blender/makesrna/intern/rna_object.c @@ -1502,11 +1502,6 @@ static PointerRNA rna_Object_field_get(PointerRNA *ptr) { Object *ob = (Object *)ptr->owner_id; - /* weak */ - if (!ob->pd) { - ob->pd = BKE_partdeflect_new(0); - } - return rna_pointer_inherit_refine(ptr, &RNA_FieldSettings, ob->pd); } @@ -1518,11 +1513,6 @@ static PointerRNA rna_Object_collision_get(PointerRNA *ptr) return PointerRNA_NULL; } - /* weak */ - if (!ob->pd) { - ob->pd = BKE_partdeflect_new(0); - } - return rna_pointer_inherit_refine(ptr, &RNA_CollisionSettings, ob->pd); } diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index d94e68a6808..7ff2a82a465 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -1413,24 +1413,12 @@ static const EnumPropertyItem *rna_Particle_ren_as_itemf(bContext *UNUSED(C), static PointerRNA rna_Particle_field1_get(PointerRNA *ptr) { ParticleSettings *part = (ParticleSettings *)ptr->owner_id; - - /* weak */ - if (!part->pd) { - part->pd = BKE_partdeflect_new(0); - } - return rna_pointer_inherit_refine(ptr, &RNA_FieldSettings, part->pd); } static PointerRNA rna_Particle_field2_get(PointerRNA *ptr) { ParticleSettings *part = (ParticleSettings *)ptr->owner_id; - - /* weak */ - if (!part->pd2) { - part->pd2 = BKE_partdeflect_new(0); - } - return rna_pointer_inherit_refine(ptr, &RNA_FieldSettings, part->pd2); } |