From 63e400503956bd5a6792da3aa4bbbf6a2c8e5aa0 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 17 Sep 2013 11:00:09 +0000 Subject: [PATCH] Fix #36747: curve bevel and extrude issue Was a small mistake in bevel list optimization, no need to check whether first/last points are the same coord if curve is not cyclic. --- source/blender/blenkernel/intern/curve.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 334429e3738..02b35794d28 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -2665,9 +2665,16 @@ void BKE_curve_bevelList_make(Object *ob, ListBase *nurbs, bool for_render) bl = bev->first; while (bl) { if (bl->nr) { /* null bevel items come from single points */ + bool is_cyclic = bl->poly != -1; nr = bl->nr; - bevp1 = (BevPoint *)(bl + 1); - bevp0 = bevp1 + (nr - 1); + if (is_cyclic) { + bevp1 = (BevPoint *)(bl + 1); + bevp0 = bevp1 + (nr - 1); + } + else { + bevp0 = (BevPoint *)(bl + 1); + bevp1 = bevp0 + 1; + } nr--; while (nr--) { if (fabsf(bevp0->vec[0] - bevp1->vec[0]) < 0.00001f) {