diff options
author | Bastien Montagne <bastien@blender.org> | 2021-10-01 15:22:15 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2021-10-01 15:49:04 +0300 |
commit | 271210126e12713d70813937ddd4732993f7bb35 (patch) | |
tree | be8e8ba7ab1d3e9e38c8ce216f0f0954af028ad1 /source/blender/windowmanager/intern/wm_files_link.c | |
parent | f9acf21063d32152a98876ecc83f93ca92df18a0 (diff) |
Fix T91834: Appending objects with shape keys into new file is broken.
Recent append refactor 'broke' this, we need special recursive care and
handling of those nasty shpae keys... again.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_files_link.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_files_link.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/windowmanager/intern/wm_files_link.c b/source/blender/windowmanager/intern/wm_files_link.c index ea0b0a9feaa..a73bea31669 100644 --- a/source/blender/windowmanager/intern/wm_files_link.c +++ b/source/blender/windowmanager/intern/wm_files_link.c @@ -597,6 +597,11 @@ static int foreach_libblock_append_callback(LibraryIDLinkCallbackData *cb_data) } if (!BKE_idtype_idcode_is_linkable(GS(id->name))) { + /* While we do not want to add non-linkable ID (shape keys...) to the list of linked items, + * unfortunately they can use fully linkable valid IDs too, like actions. Those need to be + * processed, so we need to recursively deal with them here. */ + BKE_library_foreach_ID_link( + cb_data->bmain, id, foreach_libblock_append_callback, data, IDWALK_NOP); return IDWALK_RET_NOP; } |