[Bf-blender-cvs] [5d61cbf] master: Curves: BKE_nurb_copy left duplicate arrays

Campbell Barton noreply at git.blender.org
Mon Jan 26 08:24:40 CET 2015


Commit: 5d61cbf008ab4676b4d71a155c8b85c57e54b58b
Author: Campbell Barton
Date:   Mon Jan 26 18:21:44 2015 +1100
Branches: master
https://developer.blender.org/rB5d61cbf008ab4676b4d71a155c8b85c57e54b58b

Curves: BKE_nurb_copy left duplicate arrays

While callers accounted for this, its quite error prone. Just NULL instead.

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

M	source/blender/blenkernel/intern/curve.c
M	source/blender/editors/curve/editcurve.c

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

diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 3abe3c5..f1e9f2b 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -593,6 +593,10 @@ Nurb *BKE_nurb_copy(Nurb *src, int pntsu, int pntsv)
 	newnu->pntsu = pntsu;
 	newnu->pntsv = pntsv;
 
+	/* caller can manually handle these arrays */
+	newnu->knotsu = NULL;
+	newnu->knotsv = NULL;
+
 	if (src->bezt) {
 		newnu->bezt = (BezTriple *)MEM_mallocN(pntsu * pntsv * sizeof(BezTriple), "copyNurb2");
 	}
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index 99c64be..25dedee 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -2368,7 +2368,6 @@ static void adduplicateflagNurb(Object *obedit, ListBase *newnurb,
 			}
 			else {
 				/* knots done after duplicate as pntsu may change */
-				nu->knotsu = nu->knotsv = NULL;
 				BKE_nurb_order_clamp_u(nu);
 				BKE_nurb_knot_calc_u(nu);
 
@@ -6543,7 +6542,6 @@ static int curve_delete_segments(Object *obedit, const bool split)
 				}
 			}
 
-			nu->knotsu = nu->knotsv = NULL;
 			BKE_nurb_order_clamp_u(nu);
 			BKE_nurb_knot_calc_u(nu);




More information about the Bf-blender-cvs mailing list