Fix T60783: (Certain) shapekeys stopped working in 2.8.
authorBastien Montagne <montagne29@wanadoo.fr>
Fri, 25 Jan 2019 16:42:43 +0000 (17:42 +0100)
committerBastien Montagne <montagne29@wanadoo.fr>
Fri, 25 Jan 2019 16:46:09 +0000 (17:46 +0100)
commitda6bda64839e91dea4e6a7c144f8ae30e2d9076b
tree6b046a55002674067219a30a70581eed3f48e685
parenta42441d1451e9b89120dff0039aa09f122369ebe
Fix T60783: (Certain) shapekeys stopped working in 2.8.

This commit adds another optional check (when `--debug-io` is set) on
write .blend process, to check and ensure all shape keys have their
'from' pointer properly set to their respective user ID.
This is intended to be used as debuging tool mostly (to try to detect
when/why some of those pointers can become NULL).

For now, it also systematically perform same checks/fixes when loading a
.blend file, to fix all broken ones laying around. Later we might move
that usage to a do_version instead, but for now think it's safer to
always perfom it (and it's rather cheap process anyway).
source/blender/blenloader/BLO_blend_validate.h
source/blender/blenloader/intern/blend_validate.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c