[Bf-blender-cvs] [2eed1afd114] blender-v3.0-release: Fix T92778: Cloth Point Cache Name disappears after Make Library Override.

Bastien Montagne noreply at git.blender.org
Thu Nov 4 17:16:56 CET 2021


Commit: 2eed1afd114fa7f3e7a1be530924e4f11b68128d
Author: Bastien Montagne
Date:   Thu Nov 4 17:15:34 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rB2eed1afd114fa7f3e7a1be530924e4f11b68128d

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.

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

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

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

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);



More information about the Bf-blender-cvs mailing list