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:
authorSergey Sharybin <sergey.vfx@gmail.com>2014-12-26 11:34:48 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2014-12-26 11:36:45 +0300
commit836ea4b70f8811144e4ccb0a15003c7ab7ef244e (patch)
treeb34de5b819d8e2a3173192b38c229ee6167d5ffd /intern/cycles/blender/blender_object.cpp
parent53ec177b7f0d20865355468fda9a626176808635 (diff)
Fix T43019: Child of objectes used by duplis are visible in Cycles
Seems the parent check didn't go deep enough and only checked single parent. Now it checks the chain of parents which seems to be correct but requires much more intense testing.
Diffstat (limited to 'intern/cycles/blender/blender_object.cpp')
-rw-r--r--intern/cycles/blender/blender_object.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index 2fed7fd6240..e827d46223b 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -414,9 +414,17 @@ static bool object_render_hide(BL::Object b_ob, bool top_level, bool parent_hide
/* hide original object for duplis */
BL::Object parent = b_ob.parent();
- if(parent && object_render_hide_original(b_ob.type(), parent.dupli_type()))
- if(parent_hide)
- hide_as_dupli_child_original = true;
+ while(parent) {
+ if(object_render_hide_original(b_ob.type(),
+ parent.dupli_type()))
+ {
+ if(parent_hide) {
+ hide_as_dupli_child_original = true;
+ break;
+ }
+ }
+ parent = parent.parent();
+ }
hide_triangles = hide_emitter;