[Bf-blender-cvs] [d5b813301a8] master: Fix T65330: Blender crash when double click on face
Dalai Felinto
noreply at git.blender.org
Fri May 31 23:42:10 CEST 2019
Commit: d5b813301a81a7ec13996dfcb3a9bc88f56e4018
Author: Dalai Felinto
Date: Fri May 31 18:20:47 2019 -0300
Branches: master
https://developer.blender.org/rBd5b813301a81a7ec13996dfcb3a9bc88f56e4018
Fix T65330: Blender crash when double click on face
The fix itself is by Germano Cavalcante (mano-wii).
But since I was investigating this with him, I'm including here an
assert in EDBM_select_id_bm_elem_get to help catching this sooner
in the future
===================================================================
M source/blender/draw/intern/draw_cache_impl_mesh.c
M source/blender/editors/mesh/editmesh_select.c
===================================================================
diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index 27956f1b808..17c680bbcde 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -2757,7 +2757,7 @@ static void mesh_create_edit_facedots_select_id(MeshRenderData *rdata, GPUVertBu
if (p_orig != ORIGINDEX_NONE) {
const BMFace *efa = BM_face_at_index(rdata->edit_bmesh->bm, p_orig);
if (!BM_elem_flag_test(efa, BM_ELEM_HIDDEN)) {
- *((uint *)GPU_vertbuf_raw_step(&idx_step)) = poly;
+ *((uint *)GPU_vertbuf_raw_step(&idx_step)) = p_orig;
}
}
}
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c
index 6a91fcb8327..75d685fb9c6 100644
--- a/source/blender/editors/mesh/editmesh_select.c
+++ b/source/blender/editors/mesh/editmesh_select.c
@@ -302,6 +302,11 @@ BMElem *EDBM_select_id_bm_elem_get(struct EDBMSelectID_Context *sel_id_ctx,
}
}
+ if (base_index >= sel_id_ctx->bases_len) {
+ BLI_assert(0);
+ return NULL;
+ }
+
if (r_base_index) {
*r_base_index = base_index;
}
More information about the Bf-blender-cvs
mailing list