From a0f41ba8a24197782af5765c56525e79214d1464 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 10 Sep 2020 17:58:05 +1000 Subject: Fix T80516: Hook modifier crashes without vertex group data Checks for existence of a vertex group must check the array isn't NULL. Regression in c1386795a922. --- source/blender/modifiers/intern/MOD_hook.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'source') diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index 98bbb328007..94a9a922ff7 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -313,10 +313,19 @@ static void deformVerts_do(HookModifierData *hmd, MOD_get_vgroup(ob, mesh, hmd->name, &dvert, &hd.defgrp_index); int cd_dvert_offset = -1; - if ((em != NULL) && (hd.defgrp_index != -1)) { - cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT); - if (cd_dvert_offset == -1) { - hd.defgrp_index = -1; + if (hd.defgrp_index != -1) { + /* Edit-mesh. */ + if (em != NULL) { + cd_dvert_offset = CustomData_get_offset(&em->bm->vdata, CD_MDEFORMVERT); + if (cd_dvert_offset == -1) { + hd.defgrp_index = -1; + } + } + else { + /* Regular mesh. */ + if (dvert == NULL) { + hd.defgrp_index = -1; + } } } -- cgit v1.2.3