diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-27 12:50:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-07-27 12:50:14 +0300 |
commit | f8bd6adee29d49787299de779f89668ebd8a1bb4 (patch) | |
tree | d6d83262e56c1d6bc68ecc1d1738e3b97ee6f502 /source/blender/makesrna/intern/rna_nodetree.c | |
parent | b01d38ef7d4ddbfcb635f025bd6b4aea98d28cdb (diff) |
Depsgraph: Skip iterating over all ntree users on node tree parameter update
Also make sure drivers on node tree properties will work correctly for viewport.
Diffstat (limited to 'source/blender/makesrna/intern/rna_nodetree.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index 7e51f24d0d0..995bd1f70bc 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -2281,18 +2281,8 @@ static void rna_NodeSocket_value_update(Main *bmain, Scene *scene, PointerRNA *p { bNodeTree *ntree = (bNodeTree *)ptr->id.data; if (ntree->type == NTREE_SHADER) { - FOREACH_NODETREE(bmain, tntree, id) { - switch (GS(id->name)) { - case ID_WO: - DEG_id_tag_update_ex(bmain, id, DEG_TAG_SHADING_UPDATE); - WM_main_add_notifier(NC_MATERIAL | ND_SHADING, NULL); - break; - case ID_MA: - DEG_id_tag_update_ex(bmain, id, DEG_TAG_SHADING_UPDATE); - WM_main_add_notifier(NC_MATERIAL | ND_SHADING, id); - break; - } - } FOREACH_NODETREE_END + DEG_id_tag_update_ex(bmain, ptr->id.data, DEG_TAG_SHADING_UPDATE); + WM_main_add_notifier(NC_MATERIAL | ND_SHADING, NULL); } else { rna_NodeSocket_update(bmain, scene, ptr); |