diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-02 23:44:07 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2012-01-02 23:44:07 +0400 |
commit | 1e96b5f2841b16ce2fc6e5430d0bf5cdbac3e3a0 (patch) | |
tree | 0270ece17160b8f96b44eea05134c9ac284e0c7f /intern | |
parent | 0eb8a384c92f1eb1bd89323d6312194cd916eee9 (diff) |
Fix #29740: missing cycles viewport update with animated node socket values.
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/blender/blender_sync.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp index 3443f76b1ce..286a9b5b24f 100644 --- a/intern/cycles/blender/blender_sync.cpp +++ b/intern/cycles/blender/blender_sync.cpp @@ -69,13 +69,13 @@ bool BlenderSync::sync_recalc() BL::BlendData::materials_iterator b_mat; for(b_data.materials.begin(b_mat); b_mat != b_data.materials.end(); ++b_mat) - if(b_mat->is_updated()) + if(b_mat->is_updated() || (b_mat->node_tree() && b_mat->node_tree().is_updated())) shader_map.set_recalc(*b_mat); BL::BlendData::lamps_iterator b_lamp; for(b_data.lamps.begin(b_lamp); b_lamp != b_data.lamps.end(); ++b_lamp) - if(b_lamp->is_updated()) + if(b_lamp->is_updated() || (b_lamp->node_tree() && b_lamp->node_tree().is_updated())) shader_map.set_recalc(*b_lamp); BL::BlendData::objects_iterator b_ob; @@ -107,7 +107,8 @@ bool BlenderSync::sync_recalc() BL::BlendData::worlds_iterator b_world; for(b_data.worlds.begin(b_world); b_world != b_data.worlds.end(); ++b_world) - if(world_map == b_world->ptr.data && b_world->is_updated()) + if(world_map == b_world->ptr.data && + (b_world->is_updated() || (b_world->node_tree() && b_world->node_tree().is_updated()))) world_recalc = true; bool recalc = |