Fix T55622: Proportional editing for Gpencil/Masks in dope sheet not

taking proportional size into account

Transform would always move all keyframes (e.g even when Proportional
size is 0.0).

'calculatePropRatio()' was setting td->factor correctly, but this was
not being considered in 'applyTimeTranslateValue()' if there was no
action [which greasepencil and masks do not have].

Maniphest Tasks: T55622

Differential Revision: https://developer.blender.org/D6697
This commit is contained in:
Philipp Oeser 2020-01-28 11:54:27 +01:00
parent 9c062ac310
commit 67a6050499
Notes: blender-bot 2023-02-14 07:25:46 +01:00
Referenced by issue #55622, Proportional editing in Gpencil dope sheet will move all keyframes (e.g even when Proportional size is 0.0)
1 changed files with 4 additions and 3 deletions

View File

@ -8777,9 +8777,10 @@ static void applyTimeTranslateValue(TransInfo *t, float value)
/* It doesn't matter whether we apply to t->data or
* t->data2d, but t->data2d is more convenient. */
for (i = 0; i < tc->data_len; i++, td++, td2d++) {
/* it is assumed that td->extra is a pointer to the AnimData,
* whose active action is where this keyframe comes from
/* It is assumed that td->extra is a pointer to the AnimData,
* whose active action is where this keyframe comes from.
* (this is only valid when not in NLA)
* (also: masks and gpencil dont have animadata)
*/
AnimData *adt = (t->spacetype != SPACE_NLA) ? td->extra : NULL;
@ -8810,7 +8811,7 @@ static void applyTimeTranslateValue(TransInfo *t, float value)
val = floorf(val + 0.5f);
}
*(td->val) = td->ival + val;
*(td->val) = td->ival + val * td->factor;
}
/* apply nearest snapping */