[Bf-blender-cvs] [9ad9d38786c] master: Fix T62601: parenting to curve (follow path) causes offset

Philipp Oeser noreply at git.blender.org
Fri Mar 15 18:52:52 CET 2019


Commit: 9ad9d38786c5d9f3e7f288f2e8255f3e7722da1f
Author: Philipp Oeser
Date:   Fri Mar 15 16:15:37 2019 +0100
Branches: master
https://developer.blender.org/rB9ad9d38786c5d9f3e7f288f2e8255f3e7722da1f

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

===================================================================

M	source/blender/editors/object/object_relations.c

===================================================================

diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index dbd90628136..95d1ddea7f3 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -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 */



More information about the Bf-blender-cvs mailing list