[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47081] branches/meshdata_transfer/source/ blender/editors/object/object_vgroup.c: added mesh_get_derived_deform(scene , ob_act, CD_MASK_BAREMESH | CD_MASK_ORIGINDEX)

Ove Murberg Henriksen sorayasilvermoon at hotmail.com
Sun May 27 17:57:43 CEST 2012


Revision: 47081
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47081
Author:   cyborgmuppet
Date:     2012-05-27 15:57:43 +0000 (Sun, 27 May 2012)
Log Message:
-----------
added mesh_get_derived_deform(scene, ob_act, CD_MASK_BAREMESH | CD_MASK_ORIGINDEX)
but now it crashes on:
a: <unavailable synchronous data> @0x9bc692c8
math_vector_inline.c 296

Modified Paths:
--------------
    branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c

Modified: branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
===================================================================
--- branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c	2012-05-27 14:43:18 UTC (rev 47080)
+++ branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c	2012-05-27 15:57:43 UTC (rev 47081)
@@ -435,7 +435,7 @@
 	}
 }
 
-int ED_vgroup_transfer_weight(Object *ob_dst, Object *ob_src, bDeformGroup *dg_src, MethodOption method_option, ReplaceOption replace_option)
+int ED_vgroup_transfer_weight(Object *ob_dst, Object *ob_src, bDeformGroup *dg_src, Scene *scene, MethodOption method_option, ReplaceOption replace_option)
 {
 	bDeformGroup *dg_dst;
 	Mesh *me_dst;
@@ -460,7 +460,7 @@
 
 	/*get meshes*/
 	me_dst = ob_dst->data;
-	dmesh_src = ob_src->derivedDeform;
+	dmesh_src = mesh_get_derived_deform(scene, ob_src, CD_MASK_BAREMESH | CD_MASK_ORIGINDEX);
 
 	/*get vertex group arrays*/
 	ED_vgroup_give_parray(ob_src->data, &dv_array_src, &dv_tot_src, FALSE);
@@ -3024,6 +3024,7 @@
 
 static int vertex_group_transfer_weight_exec(bContext *C, wmOperator *op)
 {
+	Scene *scene = CTX_data_scene(C);
 	Object *ob_act = CTX_data_active_object(C);
 	int change = 0;
 	int fail = 0;
@@ -3041,14 +3042,14 @@
 			switch (vertex_group_option) {
 
 				case REPLACE_SINGLE_VERTEX_GROUP:
-					if (ED_vgroup_transfer_weight(ob_slc, ob_act, BLI_findlink(&ob_act->defbase, ob_act->actdef - 1), method_option, replace_option))
+					if (ED_vgroup_transfer_weight(ob_slc, ob_act, BLI_findlink(&ob_act->defbase, ob_act->actdef - 1), scene, method_option, replace_option))
 						change++;
 					else fail++;
 					break;
 
 				case REPLACE_ALL_VERTEX_GROUPS:
 					for (dg_src = ob_act->defbase.first; dg_src; dg_src = dg_src->next) {
-						if (ED_vgroup_transfer_weight(ob_slc, ob_act, dg_src, method_option, replace_option)) change++;
+						if (ED_vgroup_transfer_weight(ob_slc, ob_act, dg_src, scene, method_option, replace_option)) change++;
 						else fail++;
 					}
 					break;




More information about the Bf-blender-cvs mailing list