Commit: 2694c1fc60b9a7ee473722e4790d385cc747463a
Author: Sergey Sharybin
Date:   Thu Feb 22 16:31:59 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB2694c1fc60b9a7ee473722e4790d385cc747463a

Merge branch 'master' into blender2.8

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



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

diff --cc source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
index 0892a48caaf,73bbbcfa0b3..aabcbd1c6d4
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_rig.cc
@@@ -134,38 -114,19 +134,38 @@@ void DepsgraphNodeBuilder::build_spline
  /* Pose/Armature Bones Graph */
  void DepsgraphNodeBuilder::build_rig(Object *object)
  {
 -      bArmature *arm = (bArmature *)object->data;
 +      bArmature *armature = (bArmature *)object->data;
 +      Scene *scene_cow;
 +      Object *object_cow;
 +      bArmature *armature_cow;
 +      if (DEG_depsgraph_use_copy_on_write()) {
 +              /* NOTE: We need to expand both object and armature, so this 
way we can
 +               * safely create object level pose.
 +               */
 +              scene_cow = get_cow_datablock(scene_);
 +              object_cow = expand_cow_datablock(object);
 +              armature_cow = expand_cow_datablock(armature);
 +      }
 +      else {
 +              scene_cow = scene_;
 +              object_cow = object;
 +              armature_cow = armature;
 +      }
        OperationDepsNode *op_node;
  
 -      /* animation and/or drivers linking posebones to base-armature used to 
define them
 +      /* Animation and/or drivers linking posebones to base-armature used to
 +       * define them.
 +       *
         * NOTE: AnimData here is really used to control animated deform 
properties,
 -       *       which ideally should be able to be unique across different 
instances.
 -       *       Eventually, we need some type of proxy/isolation mechanism 
in-between here
 -       *       to ensure that we can use same rig multiple times in same 
scene...
 +       *       which ideally should be able to be unique across different
 +       *       instances. Eventually, we need some type of proxy/isolation
 +       *       mechanism in-between here to ensure that we can use same rig
 +       *       multiple times in same scene.
         */
-       if (built_map_.checkIsBuilt(armature)) {
 -      if (!built_map_.checkIsBuilt(arm)) {
 -              build_animdata(&arm->id);
++      if (!built_map_.checkIsBuilt(armature)) {
 +              build_animdata(&armature->id);
                /* Make sure pose is up-to-date with armature updates. */
 -              add_operation_node(&arm->id,
 +              add_operation_node(&armature->id,
                                   DEG_NODE_TYPE_PARAMETERS,
                                   NULL,
                                   DEG_OPCODE_PLACEHOLDER,

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to