[Bf-blender-cvs] [b31a3ffc252] temp-object-multi-mode: BMesh: fix bug where indices weren't set /w offset

Campbell Barton noreply at git.blender.org
Mon Mar 12 09:59:45 CET 2018


Commit: b31a3ffc252dd2a4583a24aaf2cf6793c427d8d2
Author: Campbell Barton
Date:   Mon Mar 12 20:06:00 2018 +1100
Branches: temp-object-multi-mode
https://developer.blender.org/rBb31a3ffc252dd2a4583a24aaf2cf6793c427d8d2

BMesh: fix bug where indices weren't set /w offset

===================================================================

M	source/blender/bmesh/intern/bmesh_mesh.c

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c
index 728e2c93a8c..16ccbae1581 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -1173,7 +1173,7 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
 	}
 
 	if (htype & BM_VERT) {
-		if (bm->elem_index_dirty & BM_VERT) {
+		if ((bm->elem_index_dirty & BM_VERT) || (elem_offset && elem_offset[0])) {
 			BMIter iter;
 			BMElem *ele;
 
@@ -1192,7 +1192,7 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
 	}
 
 	if (htype & BM_EDGE) {
-		if (bm->elem_index_dirty & BM_EDGE) {
+		if ((bm->elem_index_dirty & BM_EDGE) || (elem_offset && elem_offset[1])) {
 			BMIter iter;
 			BMElem *ele;
 
@@ -1211,7 +1211,7 @@ void BM_mesh_elem_index_ensure_ex(BMesh *bm, const char htype, int elem_offset[4
 	}
 
 	if (htype & (BM_FACE | BM_LOOP)) {
-		if (bm->elem_index_dirty & (BM_FACE | BM_LOOP)) {
+		if ((bm->elem_index_dirty & (BM_FACE | BM_LOOP)) || (elem_offset && (elem_offset[2] || elem_offset[3]))) {
 			BMIter iter;
 			BMElem *ele;



More information about the Bf-blender-cvs mailing list