Fix T62601: parenting to curve (follow path) causes offset

Similar to T60623 / rB2894e75121d7.
Issue (when parenting with 'Follow Curve') is that the curves
CU_FOLLOW flag is set on the original, but not the
evaluated curve (yet), leading to misbehaviour in 'ob_parcurve()'.
Setting this on both now.

Reviewers: sergey

Maniphest Tasks: T62601

Differential Revision: https://developer.blender.org/D4524
This commit is contained in:
Philipp Oeser 2019-03-15 16:15:37 +01:00
parent bc8bd87dff
commit 9ad9d38786
Notes: blender-bot 2023-02-14 06:21:59 +01:00
Referenced by issue #62601, 2.8 Follow Path bug
1 changed files with 3 additions and 1 deletions

View File

@ -628,14 +628,16 @@ bool ED_object_parent_set(ReportList *reports, const bContext *C, Scene *scene,
return 0;
else {
Curve *cu = par->data;
Curve *cu_eval = parent_eval->data;
if ((cu->flag & CU_PATH) == 0) {
cu->flag |= CU_PATH | CU_FOLLOW;
cu_eval->flag |= CU_PATH | CU_FOLLOW;
/* force creation of path data */
BKE_displist_make_curveTypes(depsgraph, scene, par, false, false, NULL);
}
else {
cu->flag |= CU_FOLLOW;
cu_eval->flag |= CU_FOLLOW;
}
/* if follow, add F-Curve for ctime (i.e. "eval_time") so that path-follow works */