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:
Diffstat (limited to 'source/blender/editors/transform/transform.c')
-rw-r--r--source/blender/editors/transform/transform.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index ec15b748c40..76d42fae444 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -843,10 +843,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 */
@@ -1095,6 +1091,7 @@ int transformEvent(TransInfo *t, const wmEvent *event)
/* Confirm. */
postSelectConstraint(t);
t->modifiers &= ~(MOD_CONSTRAINT_SELECT_AXIS | MOD_CONSTRAINT_SELECT_PLANE);
+ t->redraw = TREDRAW_HARD;
}
else {
if (t->options & CTX_CAMERA) {
@@ -1106,6 +1103,7 @@ int transformEvent(TransInfo *t, const wmEvent *event)
restoreTransObjects(t);
transform_mode_init(t, NULL, TFM_TRACKBALL);
}
+ t->redraw = TREDRAW_HARD;
}
else {
t->modifiers |= (event->val == TFM_MODAL_AUTOCONSTRAINT) ?
@@ -1114,13 +1112,13 @@ int transformEvent(TransInfo *t, const wmEvent *event)
if (t->con.mode & CON_APPLY) {
stopConstraint(t);
}
- else {
- initSelectConstraint(t);
- postSelectConstraint(t);
- }
+
+ initSelectConstraint(t);
+ /* Use #TREDRAW_SOFT so that #selectConstraint is only called on the next event.
+ * This allows us to "deselect" the contraint. */
+ t->redraw = TREDRAW_SOFT;
}
}
- t->redraw |= TREDRAW_HARD;
handled = true;
}
break;