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
path: root/source
diff options
context:
space:
mode:
authorGermano Cavalcante <germano.costa@ig.com.br>2022-03-23 18:19:30 +0300
committerGermano Cavalcante <germano.costa@ig.com.br>2022-03-23 18:20:39 +0300
commit6cc83f9079de11ddb53af5bab3e0442a234aadb2 (patch)
treedfda668ed60558603e4e207b95ce6e2352093ffc /source
parente25238e146f44fb6dc87d12fdd872aac4b7b95ff (diff)
Fix T96728: 'Automatic Constraint' using the wrong orientation
If the `Automatic Constraint` modifier was activated while an axis constraint was already set, the orientation used would be the default orientation of the mode and not that of the scene. This was because the `initSelectConstraint` function was not called in this case and the `Automatic Constraint` mode was enabled by other indirect means So the solution is to call `initSelectConstraint` in either case and remove these "indirect means" of enabling `Automatic Constraint`.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/transform/transform.c10
-rw-r--r--source/blender/editors/transform/transform_constraints.c13
2 files changed, 3 insertions, 20 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 975f4370425..df36acf5c1f 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -845,10 +845,6 @@ int transformEvent(TransInfo *t, const wmEvent *event)
handled = true;
}
else if (event->type == MOUSEMOVE) {
- if (t->modifiers & (MOD_CONSTRAINT_SELECT_AXIS | MOD_CONSTRAINT_SELECT_PLANE)) {
- t->con.mode |= CON_SELECT;
- }
-
copy_v2_v2_int(t->mval, event->mval);
/* Use this for soft redraw. Might cause flicker in object mode */
@@ -1116,10 +1112,8 @@ int transformEvent(TransInfo *t, const wmEvent *event)
if (t->con.mode & CON_APPLY) {
stopConstraint(t);
}
- else {
- initSelectConstraint(t);
- postSelectConstraint(t);
- }
+
+ initSelectConstraint(t);
}
}
t->redraw |= TREDRAW_HARD;
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 81b35e4539b..0ccabf5798f 100644
--- a/source/blender/editors/transform/transform_constraints.c
+++ b/source/blender/editors/transform/transform_constraints.c
@@ -984,6 +984,7 @@ void initSelectConstraint(TransInfo *t)
}
setUserConstraint(t, CON_APPLY | CON_SELECT, "%s");
+ selectConstraint(t);
}
void selectConstraint(TransInfo *t)
@@ -996,19 +997,7 @@ void selectConstraint(TransInfo *t)
void postSelectConstraint(TransInfo *t)
{
- if (!(t->con.mode & CON_SELECT)) {
- return;
- }
-
- t->con.mode &= ~CON_AXIS0;
- t->con.mode &= ~CON_AXIS1;
- t->con.mode &= ~CON_AXIS2;
t->con.mode &= ~CON_SELECT;
-
- setNearestAxis(t);
-
- startConstraint(t);
- t->redraw = TREDRAW_HARD;
}
static void setNearestAxis2d(TransInfo *t)