Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r--source/blender/blenkernel/intern/constraint.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index 7994849a469..af0b462c349 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -427,8 +427,8 @@ static void contarget_get_mesh_mat (Scene *scene, Object *ob, char *substring, f
* - check if the custom data masks for derivedFinal mean that we can just use that
* (this is more effficient + sufficient for most cases)
*/
- if (ob->lastDataMask != CD_MASK_DERIVEDMESH) {
- dm = mesh_get_derived_final(scene, ob, CD_MASK_DERIVEDMESH);
+ if (!(ob->lastDataMask & CD_MASK_MDEFORMVERT)) {
+ dm = mesh_get_derived_final(scene, ob, CD_MASK_MDEFORMVERT);
freeDM= 1;
}
else
@@ -1983,8 +1983,10 @@ static void pycon_id_looper (bConstraint *con, ConstraintIDFunc func, void *user
/* Whether this approach is maintained remains to be seen (aligorith) */
static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintTarget *ct, float ctime)
{
+#ifndef DISABLE_PYTHON
bPythonConstraint *data= con->data;
-
+#endif
+
if (VALID_CONS_TARGET(ct)) {
/* special exception for curves - depsgraph issues */
if (ct->tar->type == OB_CURVE) {
@@ -3573,7 +3575,7 @@ static void shrinkwrap_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstr
}
/* co is in local object coordinates, change it to global and update target position */
- mul_v3_m4v3(co, cob->matrix, co);
+ mul_m4_v3(cob->matrix, co);
VECCOPY(ct->matrix[3], co);
}
}