diff options
author | Martin Poirier <theeth@yahoo.com> | 2005-06-06 16:23:47 +0400 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2005-06-06 16:23:47 +0400 |
commit | bb4710d2c91740dc5774d7557adb2bf9be0e8919 (patch) | |
tree | ce1d2c3063d6462baa40305309dcccacc0e3b0de | |
parent | c61f6463b17158bdb1a8741038cb7c54a951e2cd (diff) |
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.
-rwxr-xr-x | source/blender/src/transform_conversions.c | 7 |
1 files 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]; |