diff options
Diffstat (limited to 'source/blender/blenkernel/intern')
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 10 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/collection.c | 4 |
2 files changed, 13 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index e5a68fa7476..22db91190a5 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -104,6 +104,7 @@ bool id_type_can_have_animdata(const short id_type) case ID_MSK: case ID_GD: case ID_CF: + case ID_GR: return true; /* no AnimData */ @@ -1135,6 +1136,9 @@ void BKE_animdata_main_cb(Main *mainptr, ID_AnimData_Edit_Callback func, void *u /* masks */ ANIMDATA_IDS_CB(mainptr->mask.first); + /* collections */ + ANIMDATA_IDS_CB(mainptr->collection.first); + /* worlds */ ANIMDATA_NODETREE_IDS_CB(mainptr->world.first, World); @@ -1234,6 +1238,9 @@ void BKE_animdata_fix_paths_rename_all(ID *ref_id, const char *prefix, const cha /* worlds */ RENAMEFIX_ANIM_NODETREE_IDS(mainptr->world.first, World); + /* collections */ + RENAMEFIX_ANIM_IDS(mainptr->collection.first); + /* linestyles */ RENAMEFIX_ANIM_IDS(mainptr->linestyle.first); @@ -2935,6 +2942,9 @@ void BKE_animsys_evaluate_all_animation(Main *main, Depsgraph *depsgraph, Scene /* masks */ EVAL_ANIM_IDS(main->mask.first, ADT_RECALC_ANIM); + /* collections */ + EVAL_ANIM_IDS(main->collection.first, ADT_RECALC_ANIM); + /* worlds */ EVAL_ANIM_NODETREE_IDS(main->world.first, World, ADT_RECALC_ANIM); diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c index c4709a32f78..295b7d39f13 100644 --- a/source/blender/blenkernel/intern/collection.c +++ b/source/blender/blenkernel/intern/collection.c @@ -35,6 +35,7 @@ #include "BLT_translation.h" #include "BLI_string_utils.h" +#include "BKE_animsys.h" #include "BKE_collection.h" #include "BKE_icons.h" #include "BKE_idprop.h" @@ -112,7 +113,8 @@ Collection *BKE_collection_add(Main *bmain, Collection *collection_parent, const /** Free (or release) any data used by this collection (does not free the collection itself). */ void BKE_collection_free(Collection *collection) { - /* No animdata here. */ + BKE_animdata_free(&collection->id, false); + BKE_previewimg_free(&collection->preview); BLI_freelistN(&collection->gobject); |