diff options
author | Joshua Leung <aligorith@gmail.com> | 2007-07-25 15:38:50 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2007-07-25 15:38:50 +0400 |
commit | 87402dbcbd4b26544f8f664413f7ae57c78db5d0 (patch) | |
tree | 78ee86e67eda96c5dbf69d0da536e9041aef7afe | |
parent | 17533e534fab0de8250348c25c5d84bab4b40c48 (diff) |
Transform - Objects with Old-Tracking:
Tracking is now tempolarily disabled while an object matrix used for space conversions stuff is calculated. This used to be done before the constraints recode.
-rwxr-xr-x | source/blender/src/transform_conversions.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c index 6972cda739b..d15f9d7494f 100755 --- a/source/blender/src/transform_conversions.c +++ b/source/blender/src/transform_conversions.c @@ -2092,13 +2092,26 @@ static short constraints_list_needinv(ListBase *list) /* transcribe given object into TransData for Transforming */ static void ObjectToTransData(TransData *td, Object *ob) { + Object *track; float obmtx[3][3]; /* axismtx has the real orientation */ Mat3CpyMat4(td->axismtx, ob->obmat); Mat3Ortho(td->axismtx); - where_is_object(ob); + /* hack: tempolarily disable tracking when getting object matrix, + * to stop it from screwing up space conversion matrix later + */ + if (ob->track) { + track= ob->track; + ob->track= NULL; + + where_is_object(ob); + + ob->track= track; + } + else + where_is_object(ob); td->ob = ob; |