From b30f3f6c19c9a791c8899d97d376df08baa3889e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Fri, 21 Jun 2019 00:06:37 +0200 Subject: Fix T65960 Crash on entering Edit Mode of BesierCurve with modifiers --- source/blender/draw/modes/edit_curve_mode.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/blender/draw/modes/edit_curve_mode.c b/source/blender/draw/modes/edit_curve_mode.c index 068af2e2012..e3c120e80cb 100644 --- a/source/blender/draw/modes/edit_curve_mode.c +++ b/source/blender/draw/modes/edit_curve_mode.c @@ -269,7 +269,9 @@ static void EDIT_CURVE_cache_populate(void *vedata, Object *ob) } geom = DRW_cache_curve_edge_wire_get(ob); - DRW_shgroup_call(wire_shgrp, geom, ob); + if (geom) { + DRW_shgroup_call(wire_shgrp, geom, ob); + } if ((cu->flag & CU_3D) && (v3d->overlay.edit_flag & V3D_OVERLAY_EDIT_CU_NORMALS) != 0) { geom = DRW_cache_curve_edge_normal_get(ob); @@ -282,17 +284,23 @@ static void EDIT_CURVE_cache_populate(void *vedata, Object *ob) } geom = DRW_cache_curve_vert_overlay_get(ob, stl->g_data->show_handles); - DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + if (geom) { + DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + } } } if (ob->type == OB_SURF) { if (BKE_object_is_in_editmode(ob)) { struct GPUBatch *geom = DRW_cache_curve_edge_overlay_get(ob); - DRW_shgroup_call(stl->g_data->overlay_edge_shgrp, geom, ob); + if (geom) { + DRW_shgroup_call(stl->g_data->overlay_edge_shgrp, geom, ob); + } geom = DRW_cache_curve_vert_overlay_get(ob, false); - DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + if (geom) { + DRW_shgroup_call(stl->g_data->overlay_vert_shgrp, geom, ob); + } } } } -- cgit v1.2.3