From bb4710d2c91740dc5774d7557adb2bf9be0e8919 Mon Sep 17 00:00:00 2001 From: Martin Poirier Date: Mon, 6 Jun 2005 12:23:47 +0000 Subject: Fixing bug #2707 : Local Axis constraints in transform working incorrectly on objects that have object constraints. http://projects.blender.org/tracker/index.php?func=detail&aid=2707&group_id=9&atid=125 Problem was as suspected (axismtx defined after clearing constraints), so very easy to fix. --- source/blender/src/transform_conversions.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index a8b040105eb..40bc00593cf 100755 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -1203,6 +1203,10 @@ static void ObjectToTransData(TransData *td, Object *ob) Object *tr; void *cfirst, *clast; + /* set axismtx BEFORE clearing constraints to have the real orientation */ + Mat3CpyMat4(td->axismtx, ob->obmat); + Mat3Ortho(td->axismtx); + cfirst = ob->constraints.first; clast = ob->constraints.last; ob->constraints.first=ob->constraints.last=NULL; @@ -1232,9 +1236,6 @@ static void ObjectToTransData(TransData *td, Object *ob) VECCOPY(td->center, ob->obmat[3]); - Mat3CpyMat4(td->axismtx, ob->obmat); - Mat3Ortho(td->axismtx); - if (ob->parent) { float totmat[3][3], obinv[3][3]; -- cgit v1.2.3