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:
authorMartin Poirier <theeth@yahoo.com>2008-05-21 14:07:38 +0400
committerMartin Poirier <theeth@yahoo.com>2008-05-21 14:07:38 +0400
commitd432eccd145649be7abe82f117c6d609db61941d (patch)
tree40a5b4dbb0b41feaf07a703947cdb3c04a13f7d8 /source/blender/src/transform_conversions.c
parent68708346de286fe3420fac10e52daae6f83c9cf6 (diff)
[#11892] track-to + "around selection" bug
Transform conversion was resetting constraints when used to calculate orbit center. This is a tentative fix, it fixes this particular case but maybe not all.
Diffstat (limited to 'source/blender/src/transform_conversions.c')
-rw-r--r--source/blender/src/transform_conversions.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/src/transform_conversions.c b/source/blender/src/transform_conversions.c
index 963a1027f28..f69218664ea 100644
--- a/source/blender/src/transform_conversions.c
+++ b/source/blender/src/transform_conversions.c
@@ -3140,6 +3140,7 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob)
ListBase fakecons = {NULL, NULL};
float obmtx[3][3];
short constinv;
+ short skip_invert = 0;
/* axismtx has the real orientation */
Mat3CpyMat4(td->axismtx, ob->obmat);
@@ -3152,8 +3153,13 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob)
* inverse correction to stop it from screwing up space conversion
* matrix later
*/
- constinv= constraints_list_needinv(t, &ob->constraints);
- if (ob->track || constinv==0) {
+ constinv = constraints_list_needinv(t, &ob->constraints);
+
+ /* disable constraints inversion for dummy pass */
+ if (t->mode == TFM_DUMMY)
+ skip_invert = 1;
+
+ if (skip_invert == 0 && (ob->track || constinv==0)) {
track= ob->track;
ob->track= NULL;