Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-22 23:00:15 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-22 23:00:15 +0400
commit7effd54d568f7615eb7083f5cf13ae7b2b71e164 (patch)
treea4207467d484c7de04c8c17beb2ed4a325dffe86
parent15b561ea41564eb187cb4a505cdf3ab374cc2972 (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.c9
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;