From 7da9521c7c5ff2a96e82503a6765e9e93e0cc3d2 Mon Sep 17 00:00:00 2001 From: Philipp Oeser Date: Thu, 28 Mar 2024 10:50:14 +0100 Subject: [PATCH] Fix #119925: Mask property keyframes missing when reload the file Caused by 6a79a6a24ab2 `Mask` `AnimData` is read by `BKE_animdata_blend_read_data` since above commit, so `BLO_read_data_address` on `AnimData` is already done there. However, `mask_blend_read_data` does it again Similar calls to `BLO_read_data_address` in `blend_read_data` callbacks were usually removed in 6a79a6a24ab2, Masks being an exception. Accoding to @mont29 the reason while a double remapping will fail is because there can only be one remapping from old addresses to new ones. Once the new address has been read, this new address cannot be used as 'key' again (it will likely map to nothing, or worse, remap to something completely unrelated!) Pull Request: https://projects.blender.org/blender/blender/pulls/119961 --- source/blender/blenkernel/intern/mask.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/source/blender/blenkernel/intern/mask.cc b/source/blender/blenkernel/intern/mask.cc index 05ef0ae3ed5..afca27a477a 100644 --- a/source/blender/blenkernel/intern/mask.cc +++ b/source/blender/blenkernel/intern/mask.cc @@ -136,7 +136,6 @@ static void mask_blend_write(BlendWriter *writer, ID *id, const void *id_address static void mask_blend_read_data(BlendDataReader *reader, ID *id) { Mask *mask = (Mask *)id; - BLO_read_data_address(reader, &mask->adt); BLO_read_list(reader, &mask->masklayers);