[Bf-blender-cvs] [39f99fd05c3] master: Fix: tried to set error message on modifier that does not exist

Jacques Lucke noreply at git.blender.org
Tue Jan 5 16:50:30 CET 2021


Commit: 39f99fd05c353137130afd7fb101c9a78106d47b
Author: Jacques Lucke
Date:   Tue Jan 5 16:50:10 2021 +0100
Branches: master
https://developer.blender.org/rB39f99fd05c353137130afd7fb101c9a78106d47b

Fix: tried to set error message on modifier that does not exist

Without this, the example file in T83730 crashes in a debug build
when deleting the hair edit bake in the particle settings.

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

M	source/blender/blenkernel/intern/pointcache.c

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

diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 8ee8821eeb6..17434ee8023 100644
--- a/source/blender/blenkernel/intern/pointcache.c
+++ b/source/blender/blenkernel/intern/pointcache.c
@@ -653,7 +653,10 @@ static void ptcache_cloth_error(const ID *owner_id, void *cloth_v, const char *m
 {
   ClothModifierData *clmd = cloth_v;
   BLI_assert(GS(owner_id->name) == ID_OB);
-  BKE_modifier_set_error((Object *)owner_id, &clmd->modifier, "%s", message);
+  if (clmd->hairdata == NULL) {
+    /* If there is hair data, this modifier does not actually exist on the object. */
+    BKE_modifier_set_error((Object *)owner_id, &clmd->modifier, "%s", message);
+  }
 }
 
 static int ptcache_dynamicpaint_totpoint(void *sd, int UNUSED(cfra))



More information about the Bf-blender-cvs mailing list