From d404c31e8d002a00229bdd91769ca30c6a0e3e4d Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 31 May 2011 10:41:01 +0000 Subject: Cycles: fix sync issue with group instances. --- intern/cycles/blender/blender_util.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'intern/cycles/blender/blender_util.h') diff --git a/intern/cycles/blender/blender_util.h b/intern/cycles/blender/blender_util.h index 715dc7e6fb0..354a195758f 100644 --- a/intern/cycles/blender/blender_util.h +++ b/intern/cycles/blender/blender_util.h @@ -225,10 +225,10 @@ public: bool sync(T **r_data, BL::ID id) { - return sync(r_data, id, id.ptr.id.data); + return sync(r_data, id, id, id.ptr.id.data); } - bool sync(T **r_data, BL::ID id, const K& key) + bool sync(T **r_data, BL::ID id, BL::ID parent, const K& key) { T *data = find(key); bool recalc; @@ -240,8 +240,11 @@ public: b_map[key] = data; recalc = true; } - else + else { recalc = (b_recalc.find(id.ptr.data) != b_recalc.end()); + if(parent.ptr.data) + recalc = recalc || (b_recalc.find(parent.ptr.data) != b_recalc.end()); + } used(data); -- cgit v1.2.3