[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43951] trunk/blender/source/blender/ blenkernel/intern/depsgraph.c: Fix #30094: Subdivision Surfaces Modifier corrupts Copy Location

Sergey Sharybin sergey.vfx at gmail.com
Tue Feb 7 14:30:07 CET 2012


Revision: 43951
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43951
Author:   nazgul
Date:     2012-02-07 13:29:58 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
Fix #30094: Subdivision Surfaces Modifier corrupts Copy Location

Issue was caused because of missed MDeformVert layer on subdivided cube.
If regular object is constrained to mesh object, extra customdata mask
is adding to such target. But armature bones are handling separately
and there was no such thing happens.
Ideally this code should be deduplicated to avoid such kind of issues,
but better not to do it so close before release.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/depsgraph.c

Modified: trunk/blender/source/blender/blenkernel/intern/depsgraph.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2012-02-07 13:10:01 UTC (rev 43950)
+++ trunk/blender/source/blender/blenkernel/intern/depsgraph.c	2012-02-07 13:29:58 UTC (rev 43951)
@@ -398,8 +398,11 @@
 								// fprintf(stderr,"armature %s target :%s \n", ob->id.name, target->id.name);
 								node3 = dag_get_node(dag, ct->tar);
 								
-								if (ct->subtarget[0])
+								if (ct->subtarget[0]) {
 									dag_add_relation(dag,node3,node, DAG_RL_OB_DATA|DAG_RL_DATA_DATA, cti->name);
+									if(ct->tar->type == OB_MESH)
+										node3->customdata_mask |= CD_MASK_MDEFORMVERT;
+								}
 								else if(ELEM3(con->type, CONSTRAINT_TYPE_FOLLOWPATH, CONSTRAINT_TYPE_CLAMPTO, CONSTRAINT_TYPE_SPLINEIK)) 	
 									dag_add_relation(dag,node3,node, DAG_RL_DATA_DATA|DAG_RL_OB_DATA, cti->name);
 								else




More information about the Bf-blender-cvs mailing list