Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2020-11-04 03:13:39 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-11-04 03:13:39 +0300
commit101c3d4ce4554a4d00ff89830c6b500f3e986365 (patch)
tree28945c578cd983b90e3b0926496441437afeefb2
parentc9fb25342bc01ed67809ed55cc6188b456ce0704 (diff)
Fix T60517: "Fix Deforms" crashes for meshes without vgroup data
-rw-r--r--source/blender/editors/object/object_vgroup.c18
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 */