[Bf-blender-cvs] [63fd2c99e80] master: Fix (unreported) Broken DataTransfer modifier when source object is in Edit mode.

Bastien Montagne noreply at git.blender.org
Thu Feb 21 15:49:47 CET 2019


Commit: 63fd2c99e80d89805f0817b6ea9802f99d8271e7
Author: Bastien Montagne
Date:   Thu Feb 21 15:48:29 2019 +0100
Branches: master
https://developer.blender.org/rB63fd2c99e80d89805f0817b6ea9802f99d8271e7

Fix (unreported) Broken DataTransfer modifier when source object is in Edit mode.

Just use common API func to get evaluated mesh of other object in
modifiers, instead of doing our own cooking. ;)

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

M	source/blender/blenkernel/intern/data_transfer.c

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

diff --git a/source/blender/blenkernel/intern/data_transfer.c b/source/blender/blenkernel/intern/data_transfer.c
index 3e5939b4e0f..2f011d6a919 100644
--- a/source/blender/blenkernel/intern/data_transfer.c
+++ b/source/blender/blenkernel/intern/data_transfer.c
@@ -42,6 +42,7 @@
 #include "BKE_mesh_mapping.h"
 #include "BKE_mesh_runtime.h"
 #include "BKE_mesh_remap.h"
+#include "BKE_modifier.h"
 #include "BKE_object.h"
 #include "BKE_object_deform.h"
 #include "BKE_report.h"
@@ -1114,7 +1115,7 @@ bool BKE_object_data_transfer_ex(
 	/* Get source evaluated mesh.*/
 	me_src_mask |= BKE_object_data_transfer_dttypes_to_cdmask(data_types);
 	if (is_modifier) {
-		me_src = ob_src->runtime.mesh_eval;
+		me_src = BKE_modifier_get_evaluated_mesh_from_evaluated_object(ob_src, false);
 
 		if (me_src == NULL || (me_src_mask & ~ob_src->runtime.last_data_mask) != 0) {
 			CLOG_WARN(&LOG, "Data Transfer: source mesh data is not ready - dependency cycle?");



More information about the Bf-blender-cvs mailing list