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:
authorCampbell Barton <ideasman42@gmail.com>2011-01-12 19:53:27 +0300
committerCampbell Barton <ideasman42@gmail.com>2011-01-12 19:53:27 +0300
commit792f3b11f952be344ef24bc5879883a156b0e04f (patch)
treeeec6b1d4a7c5945abfcd0b8683a4e26228539d18 /source/blender/blenkernel/intern/group.c
parent0384be9644b58122110aa66f5ccfc59cc0d89db4 (diff)
bugfix [#24774] Lattice modifier+Dupligroup+Texture solid=weird result
new 2.5x code was not passing group recalc flags onto objects within them.
Diffstat (limited to 'source/blender/blenkernel/intern/group.c')
-rw-r--r--source/blender/blenkernel/intern/group.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/blenkernel/intern/group.c b/source/blender/blenkernel/intern/group.c
index e48ec8ac288..3b8daced657 100644
--- a/source/blender/blenkernel/intern/group.c
+++ b/source/blender/blenkernel/intern/group.c
@@ -364,17 +364,22 @@ void group_handle_recalc_and_update(Scene *scene, Object *UNUSED(parent), Group
scene->r.cfra= cfrao;
}
else
-#endif
+#else
{
- /* only do existing tags, as set by regular depsgraph */
+ /* use 2 loops to avoid updating objects multiple times */
for(go= group->gobject.first; go; go= go->next) {
- if(go->ob) {
- if(go->ob->recalc) {
- object_handle_update(scene, go->ob);
- }
+ if(go->ob && go->recalc) {
+ go->ob->recalc |= go->recalc;
+ }
+ }
+
+ for(go= group->gobject.first; go; go= go->next) {
+ if(go->ob && go->recalc) {
+ object_handle_update(scene, go->ob);
}
}
}
+#endif
}
Object *group_get_member_with_action(Group *group, bAction *act)