[Bf-blender-cvs] [59bae6d1494] master: BMesh: stop BM_mesh_elem_index_validate from setting indices

Campbell Barton noreply at git.blender.org
Fri Feb 14 10:48:07 CET 2020


Commit: 59bae6d149445ec3b24576d7d134f35415d2eba6
Author: Campbell Barton
Date:   Fri Feb 14 19:39:43 2020 +1100
Branches: master
https://developer.blender.org/rB59bae6d149445ec3b24576d7d134f35415d2eba6

BMesh: stop BM_mesh_elem_index_validate from setting indices

This prevented indices from being set to temporary values,
which is needed in some situations.

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

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 15de281ded4..334cb7c3db4 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -1838,7 +1838,8 @@ void BM_mesh_elem_index_ensure(BMesh *bm, const char htype)
  * To avoid correcting them afterwards, set 'bm->elem_index_dirty' however its possible
  * this flag is set incorrectly which could crash blender.
  *
- * These functions ensure its correct and are called more often in debug mode.
+ * Code that calls this functions may depend on dirty indices on being set.
+ * Keep this function read-only.
  */
 
 void BM_mesh_elem_index_validate(
@@ -1867,10 +1868,9 @@ void BM_mesh_elem_index_validate(
           err_val = BM_elem_index_get(ele);
           err_idx = index;
           is_error = true;
+          break;
         }
       }
-
-      BM_elem_index_set(ele, index); /* set_ok */
       index++;
     }



More information about the Bf-blender-cvs mailing list