Commit: ef94415060dc35be9ea0c2c0cb3b8033c592fde7
Author: Sergey Sharybin
Date:   Thu May 3 12:41:03 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBef94415060dc35be9ea0c2c0cb3b8033c592fde7

Depsgraph: Fix threading conflict between node animation and shading update

===================================================================

M       source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc 
b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index 8eb4d502410..45e05c6f928 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -169,6 +169,16 @@ static bool object_particles_depends_on_time(Object 
*object)
        return false;
 }
 
+static bool check_id_has_anim_component(ID *id)
+{
+       AnimData *adt = BKE_animdata_from_id(id);
+       if (adt == NULL) {
+               return false;
+       }
+       return (adt->action != NULL) ||
+              (!BLI_listbase_is_empty(&adt->nla_tracks));
+}
+
 /* **** General purpose functions ****  */
 
 DepsgraphRelationBuilder::DepsgraphRelationBuilder(Main *bmain,
@@ -1886,6 +1896,11 @@ void DepsgraphRelationBuilder::build_nodetree(bNodeTree 
*ntree)
                                            DEG_NODE_TYPE_SHADING_PARAMETERS,
                                            DEG_OPCODE_MATERIAL_UPDATE);
        add_relation(shading_parameters_key, shading_update_key, "NTree Shading 
Parameters");
+
+       if (check_id_has_anim_component(&ntree->id)) {
+               ComponentKey animation_key(&ntree->id, DEG_NODE_TYPE_ANIMATION);
+               add_relation(shading_parameters_key, animation_key, "NTree 
Shading Parameters");
+       }
 }
 
 /* Recursively build graph for material */

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to