Blender Git Commit Log

Git Commits -> Revision 13bcb00

Revision 13bcb00 by Bastien Montagne (master)
November 16, 2020, 13:39 (GMT)
Fix broken pointcache on disk in some cases.

Root of the issue is that point caches are added to the object's list
on-demand, which often ends up with them being added only during
depsgraph evaluation, i.e. on COW objects.

This could result in having 'orig' data caches with invalid/unset stack
index at some points (e.g. when reading a file and applying
liboverrides), leading to discarding valid existing disk cache files.
Fact that one of those index is signed, and the other not, does not
help...

While this is very weak, fixing broken PointCache code is out of the
scope of a bug fix, so this patch merely:
* Simplifies and factorizes the code generating the 'extension' part of
caches filenames;
* Ensures `BKE_object_insert_ptcache` is called when needed so that we
always have a valid stack index to generate that filename extension.

This is only a bandaid, but it is simple and should be safe enough for
now.

Related to T82503.

Commit Details:

Full Hash: 13bcb000fa81effa3c8302b2faba853c93a6c573
Parent Commit: 97d52da
Lines Changed: +60, -31

2 Modified Paths:

/source/blender/blenkernel/intern/object.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/pointcache.c (+56, -31) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021