[Bf-blender-cvs] [bb92edd1c80] blender2.8: Depsgraph: Keep edit bones around, fixes missing edit mode with copy on write

Sergey Sharybin noreply at git.blender.org
Thu May 3 16:23:20 CEST 2018


Commit: bb92edd1c802b521d766f46bf09b7e4b352f8398
Author: Sergey Sharybin
Date:   Thu May 3 16:22:47 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBbb92edd1c802b521d766f46bf09b7e4b352f8398

Depsgraph: Keep edit bones around, fixes missing edit mode with copy on write

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

M	source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc

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

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;



More information about the Bf-blender-cvs mailing list