diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-06-03 03:58:53 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-06-03 03:58:53 +0400 |
commit | 3ea4d7ff0136436f691bbe82b3ec4501bd7b3dcc (patch) | |
tree | f049ff79c287462011b0c90f41f9e43a4838ce94 /source | |
parent | 9acadd17a9a3898374f8ae8d4592d4d92e24ae43 (diff) |
fix [#35603] Crash with "Tag Freestyle Edge Mark"
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/mesh/editmesh_select.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/source/blender/editors/mesh/editmesh_select.c b/source/blender/editors/mesh/editmesh_select.c index 9edfffd67c3..c2869f80341 100644 --- a/source/blender/editors/mesh/editmesh_select.c +++ b/source/blender/editors/mesh/editmesh_select.c @@ -1421,20 +1421,15 @@ static void edgetag_context_set(BMesh *bm, Scene *scene, BMEdge *e, int val) break; #ifdef WITH_FREESTYLE case EDGE_MODE_TAG_FREESTYLE: - { - FreestyleEdge *fed; - - if (!CustomData_has_layer(&bm->pdata, CD_FREESTYLE_FACE)) { - BM_data_layer_add(bm, &bm->pdata, CD_FREESTYLE_FACE); - } - - fed = CustomData_bmesh_get(&bm->edata, e->head.data, CD_FREESTYLE_EDGE); - if (!val) - fed->flag &= ~FREESTYLE_EDGE_MARK; - else - fed->flag |= FREESTYLE_EDGE_MARK; - } + { + FreestyleEdge *fed; + fed = CustomData_bmesh_get(&bm->edata, e->head.data, CD_FREESTYLE_EDGE); + if (!val) + fed->flag &= ~FREESTYLE_EDGE_MARK; + else + fed->flag |= FREESTYLE_EDGE_MARK; break; + } #endif } } @@ -1475,6 +1470,13 @@ static void edgetag_ensure_cd_flag(Scene *scene, Mesh *me) case EDGE_MODE_TAG_BEVEL: BM_mesh_cd_flag_ensure(bm, me, ME_CDFLAG_EDGE_BWEIGHT); break; +#ifdef WITH_FREESTYLE + case EDGE_MODE_TAG_FREESTYLE: + if (!CustomData_has_layer(&bm->edata, CD_FREESTYLE_EDGE)) { + BM_data_layer_add(bm, &bm->edata, CD_FREESTYLE_EDGE); + } + break; +#endif default: break; } |