From 3b3d811bf0a7e1a69a863d6b248be6dff74ada44 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 2 Feb 2012 19:20:51 +0000 Subject: [PATCH] Disallow fill caps for curves without bevel object. It's getting complicated to detect which part of curve is actually a cap in cases like extruded 2d curve with non-zero depth. --- release/scripts/startup/bl_ui/properties_data_curve.py | 5 ++++- source/blender/blenkernel/intern/displist.c | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index f6fcb0a89cd..f8e3d48d40c 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -112,7 +112,6 @@ class DATA_PT_shape_curve(CurveButtonsPanel, Panel): sub.active = (curve.dimensions == '2D' or (curve.bevel_object is None and curve.dimensions == '3D')) sub.prop(curve, "fill_mode", text="") col.prop(curve, "use_fill_deform") - col.prop(curve, "use_fill_caps") class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel): @@ -166,6 +165,10 @@ class DATA_PT_geometry_curve(CurveButtonsPanel, Panel): col.label(text="Bevel Object:") col.prop(curve, "bevel_object", text="") + row = col.row() + row.active = curve.bevel_object != None + row.prop(curve, "use_fill_caps") + class DATA_PT_pathanim(CurveButtonsPanelCurve, Panel): bl_label = "Path Animation" diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c index 3c3a043e593..b14b9b43cf3 100644 --- a/source/blender/blenkernel/intern/displist.c +++ b/source/blender/blenkernel/intern/displist.c @@ -1360,7 +1360,7 @@ static void do_makeDispListCurveTypes(Scene *scene, Object *ob, ListBase *dispba /* rotate bevel piece and write in data */ rotateBevelPiece(cu, bevp, dlb, widfac, fac, &data); - if (cu->flag & CU_FILL_CAPS) { + if (cu->bevobj && (cu->flag & CU_FILL_CAPS)) { if (a == 0) fillBevelCap(cu, nu, bevp, dlb, fac, widfac, &bottom_capbase); else if (a == bl->nr - 1)