fix own error [#33529] Bevel on a certain edgeloop results in segmentation fault
relied on edges having a loop, now use overlap apiflag instead.
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
#include "BKE_customdata.h"
|
||||
|
||||
#include "bmesh.h"
|
||||
#include "./intern/bmesh_private.h"
|
||||
|
||||
|
||||
|
||||
@@ -1475,9 +1476,9 @@ static void build_vmesh(MemArena *mem_arena, BMesh *bm, BevVert *bv)
|
||||
}
|
||||
|
||||
/* take care, this flag isn't cleared before use, it just so happens that its not set */
|
||||
#define BM_BEVEL_EDGE_TAG_ENABLE(bme) BM_elem_flag_enable( (bme)->l, BM_ELEM_TAG)
|
||||
#define BM_BEVEL_EDGE_TAG_DISABLE(bme) BM_elem_flag_disable( (bme)->l, BM_ELEM_TAG)
|
||||
#define BM_BEVEL_EDGE_TAG_TEST(bme) BM_elem_flag_test( (bme)->l, BM_ELEM_TAG)
|
||||
#define BM_BEVEL_EDGE_TAG_ENABLE(bme) BM_ELEM_API_FLAG_ENABLE( (bme), _FLAG_OVERLAP)
|
||||
#define BM_BEVEL_EDGE_TAG_DISABLE(bme) BM_ELEM_API_FLAG_DISABLE( (bme), _FLAG_OVERLAP)
|
||||
#define BM_BEVEL_EDGE_TAG_TEST(bme) BM_ELEM_API_FLAG_TEST( (bme), _FLAG_OVERLAP)
|
||||
|
||||
/*
|
||||
* Construction around the vertex
|
||||
@@ -1504,6 +1505,8 @@ static void bevel_vert_construct(BMesh *bm, BevelParams *bp, BMVert *v)
|
||||
nsel++;
|
||||
}
|
||||
ntot++;
|
||||
|
||||
BM_BEVEL_EDGE_TAG_DISABLE(bme);
|
||||
}
|
||||
|
||||
if (nsel == 0) {
|
||||
|
||||
Reference in New Issue
Block a user