[Bf-blender-cvs] [a0f41ba8a24] master: Fix T80516: Hook modifier crashes without vertex group data

Campbell Barton noreply at git.blender.org
Thu Sep 10 10:01:54 CEST 2020


Commit: a0f41ba8a24197782af5765c56525e79214d1464
Author: Campbell Barton
Date:   Thu Sep 10 17:58:05 2020 +1000
Branches: master
https://developer.blender.org/rBa0f41ba8a24197782af5765c56525e79214d1464

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.

===================================================================

M	source/blender/modifiers/intern/MOD_hook.c

===================================================================

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;
+      }
     }
   }



More information about the Bf-blender-cvs mailing list