diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-03 17:22:47 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-05-03 17:23:16 +0300 |
commit | bb92edd1c802b521d766f46bf09b7e4b352f8398 (patch) | |
tree | d12effb161265675c48fdfd13758f885987bf823 /source/blender/depsgraph | |
parent | 14f2a1c8e8ea4188d29d6d07250fb6970fe19417 (diff) |
Depsgraph: Keep edit bones around, fixes missing edit mode with copy on write
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc index 81303095c65..7321b394636 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc @@ -63,6 +63,7 @@ extern "C" { #include "DNA_ID.h" #include "DNA_anim_types.h" +#include "DNA_armature_types.h" #include "DNA_mesh_types.h" #include "DNA_scene_types.h" #include "DNA_object_types.h" @@ -426,6 +427,13 @@ void update_special_pointers(const Depsgraph *depsgraph, } break; } + case ID_AR: + { + const bArmature *armature_orig = (const bArmature *)id_orig; + bArmature *armature_cow = (bArmature *)id_cow; + armature_cow->edbo = armature_orig->edbo; + break; + } case ID_ME: { /* For meshes we need to update edit_btmesh to make it to point @@ -755,6 +763,12 @@ void deg_free_copy_on_write_datablock(ID *id_cow) ob_cow->data = NULL; break; } + case ID_AR: + { + bArmature *armature_cow = (bArmature *)id_cow; + armature_cow->edbo = NULL; + break; + } case ID_ME: { Mesh *mesh_cow = (Mesh *)id_cow; |