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 | |
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.
-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; } |