Fix [#37297] Crash when Adding and Removing Fluid Particlesystem.

Using freed mem...
This commit is contained in:
Bastien Montagne
2013-11-03 21:11:27 +00:00
parent ddcb1166de
commit c366f08b6f

View File

@@ -122,7 +122,7 @@ static void rna_FluidSettings_update_type(Main *bmain, Scene *scene, PointerRNA
Object *ob = (Object *)ptr->id.data; Object *ob = (Object *)ptr->id.data;
FluidsimModifierData *fluidmd; FluidsimModifierData *fluidmd;
ParticleSystemModifierData *psmd; ParticleSystemModifierData *psmd;
ParticleSystem *psys; ParticleSystem *psys, *next_psys;
ParticleSettings *part; ParticleSettings *part;
fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim); fluidmd = (FluidsimModifierData *)modifiers_findByType(ob, eModifierType_Fluidsim);
@@ -155,7 +155,8 @@ static void rna_FluidSettings_update_type(Main *bmain, Scene *scene, PointerRNA
} }
} }
else { else {
for (psys = ob->particlesystem.first; psys; psys = psys->next) { for (psys = ob->particlesystem.first; psys; psys = next_psys) {
next_psys = psys->next;
if (psys->part->type == PART_FLUID) { if (psys->part->type == PART_FLUID) {
/* clear modifier */ /* clear modifier */
psmd = psys_get_modifier(ob, psys); psmd = psys_get_modifier(ob, psys);