[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