[Bf-blender-cvs] [15d6521de94] master: Fix assert on vertex parent

Sergey Sharybin noreply at git.blender.org
Wed Mar 20 17:20:13 CET 2019


Commit: 15d6521de94c80adbb47b6318dd24f2e0fe76925
Author: Sergey Sharybin
Date:   Wed Mar 20 17:19:26 2019 +0100
Branches: master
https://developer.blender.org/rB15d6521de94c80adbb47b6318dd24f2e0fe76925

Fix assert on vertex parent

The evaluation was done on an original object, which is not allowed.

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

M	source/blender/editors/object/object_relations.c

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

diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index 81925f42113..777770e5812 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -151,9 +151,12 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op)
 		EDBM_mesh_normals_update(em);
 		BKE_editmesh_tessface_calc(em);
 
-		/* derivedMesh might be needed for solving parenting,
-		 * so re-create it here */
-		makeDerivedMesh(depsgraph, scene, obedit, em, &CD_MASK_BAREMESH_ORIGINDEX, false);
+		/* Make sure the evaluated mesh is updates.
+		 *
+		 * Most reliable way is to update the tagged objects, which will ensure
+		 * proper copy-on-write update, but also will make sure all dependent
+		 * objects are also up to date. */
+		BKE_scene_graph_update_tagged(depsgraph, bmain);
 
 		BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) {
 			if (BM_elem_flag_test(eve, BM_ELEM_SELECT)) {



More information about the Bf-blender-cvs mailing list