From 08efcefb470577cafd2587c1b356b028365dd3f9 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 20 Mar 2019 14:56:20 +0100 Subject: Fix T61759: Dynamic paint smudge crash The issue was caused by mesh needed for dynamic paint brush being stored in the modifier. That make it to be freed and set to NULL when running copy-on-write. Solved by moving the mesh to be stored in modifier's runtime data. --- source/blender/blenkernel/BKE_dynamicpaint.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/blenkernel/BKE_dynamicpaint.h') diff --git a/source/blender/blenkernel/BKE_dynamicpaint.h b/source/blender/blenkernel/BKE_dynamicpaint.h index 1cfd8f13c65..61b13536370 100644 --- a/source/blender/blenkernel/BKE_dynamicpaint.h +++ b/source/blender/blenkernel/BKE_dynamicpaint.h @@ -22,6 +22,7 @@ */ struct Depsgraph; +struct DynamicPaintRuntime; struct DynamicPaintCanvasSettings; struct DynamicPaintModifierData; struct Main; @@ -63,6 +64,7 @@ struct Mesh *dynamicPaint_Modifier_do( struct DynamicPaintModifierData *pmd, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, struct Mesh *me); void dynamicPaint_Modifier_free(struct DynamicPaintModifierData *pmd); +void dynamicPaint_Modifier_free_runtime(struct DynamicPaintRuntime *runtime); void dynamicPaint_Modifier_copy(const struct DynamicPaintModifierData *pmd, struct DynamicPaintModifierData *tsmd, int flag); -- cgit v1.2.3