Fix #32937: cycles missing update when changing scene simplify settings. Note that

DAG_id_tag_update used to be slow to call, but now it just tags and flushes delayed,
so it can be called for every object.
This commit is contained in:
Brecht Van Lommel
2012-10-22 19:00:15 +00:00
parent 15b561ea41
commit 7effd54d56

View File

@@ -1216,9 +1216,12 @@ static void object_simplify_update(Object *ob)
ModifierData *md;
ParticleSystem *psys;
for (md = ob->modifiers.first; md; md = md->next)
if (ELEM3(md->type, eModifierType_Subsurf, eModifierType_Multires, eModifierType_ParticleSystem))
ob->recalc |= OB_RECALC_DATA | PSYS_RECALC_CHILD;
for (md = ob->modifiers.first; md; md = md->next) {
if (ELEM3(md->type, eModifierType_Subsurf, eModifierType_Multires, eModifierType_ParticleSystem)) {
ob->recalc |= PSYS_RECALC_CHILD;
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
}
}
for (psys = ob->particlesystem.first; psys; psys = psys->next)
psys->recalc |= PSYS_RECALC_CHILD;