From 2eed1afd114fa7f3e7a1be530924e4f11b68128d Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 4 Nov 2021 17:15:34 +0100 Subject: Fix T92778: Cloth Point Cache Name disappears after Make Library Override. Cloth modifier had a unique, weird and weak way of copying its pointcache, now make it use `BKE_ptcache_copy_list` like done for e.g. particles or softbody data. --- source/blender/modifiers/intern/MOD_cloth.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index c9d5ef73c49..8aff29dc17d 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -201,13 +201,9 @@ static void copyData(const ModifierData *md, ModifierData *target, const int fla tclmd->point_cache = clmd->point_cache; } else { - tclmd->point_cache = BKE_ptcache_add(&tclmd->ptcaches); - if (clmd->point_cache != NULL) { - tclmd->point_cache->step = clmd->point_cache->step; - tclmd->point_cache->startframe = clmd->point_cache->startframe; - tclmd->point_cache->endframe = clmd->point_cache->endframe; - tclmd->point_cache->flag |= (clmd->point_cache->flag & PTCACHE_FLAGS_COPY); - } + const int clmd_point_cache_index = BLI_findindex(&clmd->ptcaches, clmd->point_cache); + BKE_ptcache_copy_list(&tclmd->ptcaches, &clmd->ptcaches, flag); + tclmd->point_cache = BLI_findlink(&tclmd->ptcaches, clmd_point_cache_index); } tclmd->sim_parms = MEM_dupallocN(clmd->sim_parms); -- cgit v1.2.3