diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-22 23:00:15 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-10-22 23:00:15 +0400 |
commit | 7effd54d568f7615eb7083f5cf13ae7b2b71e164 (patch) | |
tree | a4207467d484c7de04c8c17beb2ed4a325dffe86 | |
parent | 15b561ea41564eb187cb4a505cdf3ab374cc2972 (diff) |
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.
-rw-r--r-- | source/blender/makesrna/intern/rna_scene.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c index 4431eb10a82..9fb83e8597d 100644 --- a/source/blender/makesrna/intern/rna_scene.c +++ b/source/blender/makesrna/intern/rna_scene.c @@ -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; |