From 5f77852a479952560cbbcccab6fcf07b4fd9c0b2 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 5 Aug 2010 08:39:25 +0000 Subject: Do not reset bevel/taper object when they've got incorrect type - just do noting in makebevelcurve and calc_taper functions if type is not curve. This avoids DNA changing depended on object recalc. --- source/blender/blenkernel/intern/curve.c | 2 ++ source/blender/blenkernel/intern/displist.c | 11 +---------- 2 files changed, 3 insertions(+), 10 deletions(-) (limited to 'source/blender') diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index d87a49496ec..ce43f082688 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -1222,6 +1222,8 @@ void makebevelcurve(Scene *scene, Object *ob, ListBase *disp, int forRender) // XXX if( ob == obedit && ob->type == OB_FONT ) return; if(cu->bevobj) { + if (cu->bevobj->type!=OB_CURVE) return; + bevcu= cu->bevobj->data; if(bevcu->ext1==0.0 && bevcu->ext2==0.0) { ListBase bevdisp= {NULL, NULL}; diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 09eac8e2d22..a44c5ace298 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1129,7 +1129,7 @@ float calc_taper(Scene *scene, Object *taperobj, int cur, int tot) Curve *cu; DispList *dl; - if(taperobj==NULL) return 1.0; + if(taperobj==NULL || taperobj->type!=OB_CURVE) return 1.0; cu= taperobj->data; dl= cu->disp.first; @@ -1682,15 +1682,6 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba float (*deformedVerts)[3]; int numVerts; - /* Bevel and taper objects should always be curves */ - if (cu->bevobj && cu->bevobj->type != OB_CURVE) { - cu->bevobj = NULL; - } - - if (cu->taperobj && cu->taperobj->type != OB_CURVE) { - cu->taperobj = NULL; - } - nubase= BKE_curve_nurbs(cu); BLI_freelistN(&(cu->bev)); -- cgit v1.2.3