[Bf-blender-cvs] [656228945eb] master: Fix T69363 EEVEE: Blender crash when using Edit mode for Ocean
Clément Foucault
noreply at git.blender.org
Tue Oct 8 18:46:06 CEST 2019
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);
More information about the Bf-blender-cvs
mailing list