Fix #110821: Tracker resizing with S+S also resizes search area

Regression caused by 03f17c42d0

In that commit it was assumed that the hotkey modifier `S` had no
influence if we were already resizing.

But this is not the case in tracking. The second `S` has influence and
should not be filtered.

The solution is to add a conditional only to Trackers transformation.

This commit also fixed the canceling of this transformation which did
not revert the search area to its original value.
This commit is contained in:
Germano Cavalcante
2023-08-07 15:11:25 -03:00
parent 9e7e0a01b2
commit 04a07d5e08
2 changed files with 4 additions and 2 deletions

View File

@@ -650,7 +650,9 @@ static bool transform_modal_item_poll(const wmOperator *op, int value)
return false;
}
if (value == TFM_MODAL_RESIZE && t->mode == TFM_RESIZE) {
return false;
/* The tracking transform in MovieClip has an alternate resize that only affects the
* tracker size and not the search area. */
return t->data_type == &TransConvertType_Tracking;
}
if (value == TFM_MODAL_VERT_EDGE_SLIDE &&
(t->data_type != &TransConvertType_Mesh ||

View File

@@ -481,7 +481,7 @@ static void flushTransTracking(TransInfo *t)
if (t->flag & T_ALT_TRANSFORM) {
if (t->mode == TFM_RESIZE) {
if (tdt->area != TRACK_AREA_PAT) {
if (tdt->area != TRACK_AREA_PAT && !(t->state == TRANS_CANCEL)) {
continue;
}
}