[Bf-blender-cvs] [aa82f91c922] master: Cleanup: uvedit_*_select, replace `BMEditMesh*` with `BMesh*`

Chris Blackbourn noreply at git.blender.org
Fri Aug 19 03:49:06 CEST 2022


Commit: aa82f91c922d81456ffc6a418fd1907675de47e3
Author: Chris Blackbourn
Date:   Fri Aug 19 12:56:13 2022 +1200
Branches: master
https://developer.blender.org/rBaa82f91c922d81456ffc6a418fd1907675de47e3

Cleanup: uvedit_*_select, replace `BMEditMesh*` with `BMesh*`

Change `cd_loop_uv_offset` from signed to unsigned, forcing
a crash if passed invalid input.

Differential Revision: https://developer.blender.org/D15722

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

M	source/blender/editors/include/ED_uvedit.h
M	source/blender/editors/uvedit/uvedit_ops.c
M	source/blender/editors/uvedit/uvedit_path.c
M	source/blender/editors/uvedit/uvedit_rip.c
M	source/blender/editors/uvedit/uvedit_select.c
M	source/blender/editors/uvedit/uvedit_smart_stitch.c

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

diff --git a/source/blender/editors/include/ED_uvedit.h b/source/blender/editors/include/ED_uvedit.h
index 24d6819536d..3b269189aa9 100644
--- a/source/blender/editors/include/ED_uvedit.h
+++ b/source/blender/editors/include/ED_uvedit.h
@@ -107,64 +107,64 @@ bool uvedit_uv_select_test(const struct Scene *scene, struct BMLoop *l, int cd_l
  * Changes selection state of a single UV Face.
  */
 void uvedit_face_select_set(const struct Scene *scene,
-                            struct BMEditMesh *em,
+                            struct BMesh *em,
                             struct BMFace *efa,
                             bool select,
                             bool do_history,
-                            int cd_loop_uv_offset);
+                            uint cd_loop_uv_offset);
 /**
  * \brief Select UV Edge
  *
  * Changes selection state of a single UV Edge.
  */
 void uvedit_edge_select_set(const struct Scene *scene,
-                            struct BMEditMesh *em,
+                            struct BMesh *em,
                             struct BMLoop *l,
                             bool select,
                             bool do_history,
-                            int cd_loop_uv_offset);
+                            uint cd_loop_uv_offset);
 /**
  * \brief Select UV Vertex
  *
  * Changes selection state of a single UV vertex.
  */
 void uvedit_uv_select_set(const struct Scene *scene,
-                          struct BMEditMesh *em,
+                          struct BMesh *em,
                           struct BMLoop *l,
                           bool select,
                           bool do_history,
-                          int cd_loop_uv_offset);
+                          uint cd_loop_uv_offset);
 
 /* Low level functions for (de)selecting individual UV elements. Ensure UV face visibility before
  * use. */
 
 void uvedit_face_select_enable(const struct Scene *scene,
-                               struct BMEditMesh *em,
+                               struct BMesh *bm,
                                struct BMFace *efa,
                                bool do_history,
-                               int cd_loop_uv_offset);
+                               uint cd_loop_uv_offset);
 void uvedit_face_select_disable(const struct Scene *scene,
-                                struct BMEditMesh *em,
+                                struct BMesh *bm,
                                 struct BMFace *efa,
-                                int cd_loop_uv_offset);
+                                uint cd_loop_uv_offset);
 void uvedit_edge_select_enable(const struct Scene *scene,
-                               struct BMEditMesh *em,
+                               struct BMesh *bm,
                                struct BMLoop *l,
                                bool do_history,
-                               int cd_loop_uv_offset);
+                               uint cd_loop_uv_offset);
 void uvedit_edge_select_disable(const struct Scene *scene,
-                                struct BMEditMesh *em,
+                                struct BMesh *bm,
                                 struct BMLoop *l,
-                                int cd_loop_uv_offset);
+                                uint cd_loop_uv_offset);
 void uvedit_uv_select_enable(const struct Scene *scene,
-                             struct BMEditMesh *em,
+                             struct BMesh *bm,
                              struct BMLoop *l,
                              bool do_history,
-                             int cd_loop_uv_offset);
+                             uint cd_loop_uv_offset);
 void uvedit_uv_select_disable(const struct Scene *scene,
-                              struct BMEditMesh *em,
+                              struct BMesh *bm,
                               struct BMLoop *l,
-                              int cd_loop_uv_offset);
+                              uint cd_loop_uv_offset);
 
 /* Sticky mode UV element selection functions. */
 
diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c
index 6755630d3ef..c0dd7623ade 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -1497,7 +1497,7 @@ static int uv_hide_exec(bContext *C, wmOperator *op)
             if (bm_face_is_all_uv_sel(efa, !swap, cd_loop_uv_offset)) {
               BM_face_select_set(em->bm, efa, false);
             }
-            uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+            uvedit_face_select_disable(scene, em->bm, efa, cd_loop_uv_offset);
           }
           else {
             if (bm_face_is_all_uv_sel(efa, true, cd_loop_uv_offset) == !swap) {
@@ -1514,7 +1514,7 @@ static int uv_hide_exec(bContext *C, wmOperator *op)
               }
             }
             if (!swap) {
-              uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+              uvedit_face_select_disable(scene, em->bm, efa, cd_loop_uv_offset);
             }
           }
         }
@@ -1536,7 +1536,7 @@ static int uv_hide_exec(bContext *C, wmOperator *op)
               break;
             }
           }
-          uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+          uvedit_face_select_disable(scene, em->bm, efa, cd_loop_uv_offset);
         }
         else {
           BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
@@ -1560,7 +1560,7 @@ static int uv_hide_exec(bContext *C, wmOperator *op)
             }
           }
           if (!swap) {
-            uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+            uvedit_face_select_disable(scene, em->bm, efa, cd_loop_uv_offset);
           }
         }
       }
diff --git a/source/blender/editors/uvedit/uvedit_path.c b/source/blender/editors/uvedit/uvedit_path.c
index 31a1b60167e..4e8d9a2214c 100644
--- a/source/blender/editors/uvedit/uvedit_path.c
+++ b/source/blender/editors/uvedit/uvedit_path.c
@@ -150,7 +150,7 @@ static void verttag_set_cb(BMLoop *l, bool val, void *user_data_v)
     if (verttag_filter_cb(l_iter, user_data)) {
       MLoopUV *luv_iter = BM_ELEM_CD_GET_VOID_P(l_iter, cd_loop_uv_offset);
       if (equals_v2v2(luv->uv, luv_iter->uv)) {
-        uvedit_uv_select_set(scene, em, l_iter, val, false, cd_loop_uv_offset);
+        uvedit_uv_select_set(scene, em->bm, l_iter, val, false, cd_loop_uv_offset);
       }
     }
   }
diff --git a/source/blender/editors/uvedit/uvedit_rip.c b/source/blender/editors/uvedit/uvedit_rip.c
index 545cc57e3c4..52e92b2e3c5 100644
--- a/source/blender/editors/uvedit/uvedit_rip.c
+++ b/source/blender/editors/uvedit/uvedit_rip.c
@@ -848,7 +848,7 @@ static bool uv_rip_object(Scene *scene, Object *obedit, const float co[2], const
               BMLoop *l_iter = BLI_gsetIterator_getKey(&gs_iter);
               ULData *ul = UL(l_iter);
               if (ul->side == side_from_cursor) {
-                uvedit_uv_select_disable(scene, em, l_iter, cd_loop_uv_offset);
+                uvedit_uv_select_disable(scene, em->bm, l_iter, cd_loop_uv_offset);
                 changed = true;
               }
               /* Ensure we don't operate on these again. */
@@ -866,7 +866,7 @@ static bool uv_rip_object(Scene *scene, Object *obedit, const float co[2], const
             BMLoop *l_iter = BLI_gsetIterator_getKey(&gs_iter);
             ULData *ul = UL(l_iter);
             if (ul->side == side_from_cursor) {
-              uvedit_uv_select_disable(scene, em, l_iter, cd_loop_uv_offset);
+              uvedit_uv_select_disable(scene, em->bm, l_iter, cd_loop_uv_offset);
               changed = true;
             }
             /* Ensure we don't operate on these again. */
diff --git a/source/blender/editors/uvedit/uvedit_select.c b/source/blender/editors/uvedit/uvedit_select.c
index d88da21ef98..653399372e2 100644
--- a/source/blender/editors/uvedit/uvedit_select.c
+++ b/source/blender/editors/uvedit/uvedit_select.c
@@ -207,7 +207,7 @@ static void uvedit_vertex_select_tagged(BMEditMesh *em,
   BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
     BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
       if (BM_elem_flag_test(l->v, BM_ELEM_TAG)) {
-        uvedit_uv_select_set(scene, em, l, select, false, cd_loop_uv_offset);
+        uvedit_uv_select_set(scene, em->bm, l, select, false, cd_loop_uv_offset);
       }
     }
   }
@@ -265,7 +265,7 @@ void uvedit_face_select_set_with_sticky(const Scene *scene,
   const ToolSettings *ts = scene->toolsettings;
   const char sticky = ts->uv_sticky;
   if (ts->uv_flag & UV_SYNC_SELECTION) {
-    uvedit_face_select_set(scene, em, efa, select, do_history, cd_loop_uv_offset);
+    uvedit_face_select_set(scene, em->bm, efa, select, do_history, cd_loop_uv_offset);
     return;
   }
   if (!uvedit_face_visible_test(scene, efa)) {
@@ -275,7 +275,7 @@ void uvedit_face_select_set_with_sticky(const Scene *scene,
    * (not part of any face selections). This now uses the sticky location mode logic instead. */
   switch (sticky) {
     case SI_STICKY_DISABLE: {
-      uvedit_face_select_set(scene, em, efa, select, do_history, cd_loop_uv_offset);
+      uvedit_face_select_set(scene, em->bm, efa, select, do_history, cd_loop_uv_offset);
       break;
     }
     default: {
@@ -313,32 +313,32 @@ void uvedit_face_select_shared_vert(const Scene *scene,
 }
 
 void uvedit_face_select_set(const Scene *scene,
-                            BMEditMesh *em,
+                            BMesh *bm,
                             BMFace *efa,
                             const bool select,
                             const bool do_history,
-                            const int cd_loop_uv_offset)
+                            const uint cd_loop_uv_offset)
 {
   if (select) {
-    uvedit_face_select_enable(scene, em, efa, do_history, cd_loop_uv_offset);
+    uvedit_face_select_enable(scene, bm, efa, do_history, cd_loop_uv_offset);
   }
   else {
-    uvedit_face_select_disable(scene, em, efa, cd_loop_uv_offset);
+    uvedit_face_select_disable(scene, bm, efa, cd_loop_uv_offset);
   }
 }
 
 void uvedit_face_select_enable(const Scene *scene,
-                               BMEditMesh *em,
+                

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list