From ad22d3111f231f172fd3bb4bae4b8a87f69e2026 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 28 Sep 2019 00:19:30 +0200 Subject: [PATCH] Fix T70226 EEVEE: Crash/Assert entering edit mode with instanced meshes... ... and modifiers. This was caused by wrong mesh being taken into account when in edit mode. --- source/blender/draw/intern/draw_cache_impl_mesh.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c index 6dc2f514f3a..4a69aa3e008 100644 --- a/source/blender/draw/intern/draw_cache_impl_mesh.c +++ b/source/blender/draw/intern/draw_cache_impl_mesh.c @@ -1044,7 +1044,9 @@ void DRW_mesh_batch_cache_create_requested( MBC_EDITUV_FACES_STRETCH_ANGLE | MBC_EDITUV_FACES | MBC_EDITUV_EDGES | MBC_EDITUV_VERTS)) { /* Modifiers will only generate an orco layer if the mesh is deformed. */ if (cache->cd_needed.orco != 0) { - if (CustomData_get_layer(&me->vdata, CD_ORCO) == NULL) { + /* Orco is always extracted from final mesh. */ + Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me; + if (CustomData_get_layer(&me_final->vdata, CD_ORCO) == NULL) { /* Skip orco calculation */ cache->cd_needed.orco = 0; }