diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-11-04 03:13:39 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-11-04 03:13:39 +0300 |
commit | 101c3d4ce4554a4d00ff89830c6b500f3e986365 (patch) | |
tree | 28945c578cd983b90e3b0926496441437afeefb2 /source/blender/editors | |
parent | c9fb25342bc01ed67809ed55cc6188b456ce0704 (diff) |
Fix T60517: "Fix Deforms" crashes for meshes without vgroup data
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/object/object_vgroup.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c index 26863fd0848..e92b3323441 100644 --- a/source/blender/editors/object/object_vgroup.c +++ b/source/blender/editors/object/object_vgroup.c @@ -2692,6 +2692,22 @@ static bool vertex_group_mesh_poll(bContext *C) return (vertex_group_poll(C) && ob->type == OB_MESH); } +static bool vertex_group_mesh_with_dvert_poll(bContext *C) +{ + Object *ob = ED_object_context(C); + + if (!vertex_group_mesh_poll(C)) { + return false; + } + + Mesh *me = ob->data; + if (me->dvert == NULL) { + return false; + } + + return true; +} + static bool UNUSED_FUNCTION(vertex_group_mesh_supported_poll)(bContext *C) { Object *ob = ED_object_context(C); @@ -3313,7 +3329,7 @@ void OBJECT_OT_vertex_group_fix(wmOperatorType *ot) "groups' weights (this tool may be slow for many vertices)"; /* api callbacks */ - ot->poll = vertex_group_mesh_poll; + ot->poll = vertex_group_mesh_with_dvert_poll; ot->exec = vertex_group_fix_exec; /* flags */ |