Commit: 656228945ebc8be2adbf70f6fbed230e3e7f8670
Author: Clément Foucault
Date: Tue Oct 8 16:59:29 2019 +0200
Branches: master
https://developer.blender.org/rB656228945ebc8be2adbf70f6fbed230e3e7f8670
Fix T69363 EEVEE: Blender crash when using Edit mode for Ocean
Use same Mesh* as extraction. We always use the final mesh for shaded geom.
===================================================================
M source/blender/draw/intern/draw_cache_impl_mesh.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c
b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 422271dbf62..b4b6554f20d 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -124,7 +124,8 @@ static DRW_MeshCDMask mesh_cd_calc_used_gpu_layers(const
Mesh *me,
struct GPUMaterial
**gpumat_array,
int gpumat_array_len)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata :
&me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
/* See: DM_vertex_attributes_from_gpu for similar logic */
DRW_MeshCDMask cd_used;
@@ -227,7 +228,8 @@ static void mesh_cd_extract_auto_layers_names_and_srgb(Mesh
*me,
int
**r_auto_layers_srgb,
int *r_auto_layers_len)
{
- const CustomData *cd_ldata = (me->edit_mesh) ? &me->edit_mesh->bm->ldata :
&me->ldata;
+ const Mesh *me_final = (me->edit_mesh) ? me->edit_mesh->mesh_eval_final : me;
+ const CustomData *cd_ldata = &me_final->ldata;
int uv_len_used = count_bits_i(cd_used.uv);
int vcol_len_used = count_bits_i(cd_used.vcol);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs