Fix [#37297] Crash when Adding and Removing Fluid Particlesystem.
Using freed mem...
This commit is contained in:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user