Two orange reports;
- Copy Location Constraint didn't update Object when it was copying from a Bone - Deleting bone in editmode, and connecting bones crashed due to evaluation of deformation code (only allowed for pose).
This commit is contained in:
@@ -669,6 +669,8 @@ void armature_deform_verts(Object *armOb, Object *target, float (*vertexCos)[3],
|
||||
int numGroups= 0; /* safety for vertexgroup index overflow too */
|
||||
int i;
|
||||
|
||||
if(armOb==G.obedit) return;
|
||||
|
||||
Mat4Invert(obinv, target->obmat);
|
||||
Mat4CpyMat4(premat, target->obmat);
|
||||
Mat4MulMat4(postmat, armOb->obmat, obinv);
|
||||
|
||||
@@ -495,11 +495,17 @@ struct DagForest *build_dag(struct Scene *sce, short mask)
|
||||
for (con = ob->constraints.first; con; con=con->next){
|
||||
if (constraint_has_target(con)) {
|
||||
char *str;
|
||||
node2 = dag_get_node(dag, get_constraint_target(con, &str));
|
||||
Object *obt= get_constraint_target(con, &str);
|
||||
|
||||
node2 = dag_get_node(dag, obt);
|
||||
if(con->type==CONSTRAINT_TYPE_FOLLOWPATH)
|
||||
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB);
|
||||
else
|
||||
dag_add_relation(dag, node2, node, DAG_RL_OB_OB);
|
||||
else {
|
||||
if(obt->type==OB_ARMATURE && str[0])
|
||||
dag_add_relation(dag, node2, node, DAG_RL_DATA_OB|DAG_RL_OB_OB);
|
||||
else
|
||||
dag_add_relation(dag, node2, node, DAG_RL_OB_OB);
|
||||
}
|
||||
addtoroot = 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user