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>2017-07-27 12:50:14 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-07-27 12:50:14 +0300
commitf8bd6adee29d49787299de779f89668ebd8a1bb4 (patch)
treed6d83262e56c1d6bc68ecc1d1738e3b97ee6f502 /source/blender/makesrna/intern/rna_nodetree.c
parentb01d38ef7d4ddbfcb635f025bd6b4aea98d28cdb (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.c14
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);