[Bf-blender-cvs] [4ca8f25fa86] blender-v2.90-release: Fix T79239: UV path select crash

Campbell Barton noreply at git.blender.org
Sat Jul 25 12:49:39 CEST 2020


Commit: 4ca8f25fa86d770ff0fc237f57cfe58db35952eb
Author: Campbell Barton
Date:   Sat Jul 25 20:48:40 2020 +1000
Branches: blender-v2.90-release
https://developer.blender.org/rB4ca8f25fa86d770ff0fc237f57cfe58db35952eb

Fix T79239: UV path select crash

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

M	source/blender/editors/uvedit/uvedit_path.c

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

diff --git a/source/blender/editors/uvedit/uvedit_path.c b/source/blender/editors/uvedit/uvedit_path.c
index f72ddcdedd3..1c7da7af0f4 100644
--- a/source/blender/editors/uvedit/uvedit_path.c
+++ b/source/blender/editors/uvedit/uvedit_path.c
@@ -569,10 +569,12 @@ static int uv_shortest_path_pick_invoke(bContext *C, wmOperator *op, const wmEve
     }
 
     BMLoop *l_src = ED_uvedit_active_edge_loop_get(bm);
-    const MLoopUV *luv_src_v1 = BM_ELEM_CD_GET_VOID_P(l_src, cd_loop_uv_offset);
-    const MLoopUV *luv_src_v2 = BM_ELEM_CD_GET_VOID_P(l_src->next, cd_loop_uv_offset);
-    if ((luv_src_v1->flag & MLOOPUV_VERTSEL) == 0 && (luv_src_v2->flag & MLOOPUV_VERTSEL) == 0) {
-      l_src = NULL;
+    if (l_src != NULL) {
+      const MLoopUV *luv_src_v1 = BM_ELEM_CD_GET_VOID_P(l_src, cd_loop_uv_offset);
+      const MLoopUV *luv_src_v2 = BM_ELEM_CD_GET_VOID_P(l_src->next, cd_loop_uv_offset);
+      if ((luv_src_v1->flag & MLOOPUV_VERTSEL) == 0 && (luv_src_v2->flag & MLOOPUV_VERTSEL) == 0) {
+        l_src = NULL;
+      }
     }
 
     ele_src = (BMElem *)l_src;
@@ -585,9 +587,11 @@ static int uv_shortest_path_pick_invoke(bContext *C, wmOperator *op, const wmEve
     }
 
     BMLoop *l_src = ED_uvedit_active_vert_loop_get(bm);
-    const MLoopUV *luv_src = BM_ELEM_CD_GET_VOID_P(l_src, cd_loop_uv_offset);
-    if ((luv_src->flag & MLOOPUV_VERTSEL) == 0) {
-      l_src = NULL;
+    if (l_src != NULL) {
+      const MLoopUV *luv_src = BM_ELEM_CD_GET_VOID_P(l_src, cd_loop_uv_offset);
+      if ((luv_src->flag & MLOOPUV_VERTSEL) == 0) {
+        l_src = NULL;
+      }
     }
 
     ele_src = (BMElem *)l_src;



More information about the Bf-blender-cvs mailing list