diff options
Diffstat (limited to 'source/blender/blenkernel/intern/anim_sys.c')
-rw-r--r-- | source/blender/blenkernel/intern/anim_sys.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 88a8463b994..6ecfeaffdba 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -283,6 +283,24 @@ void BKE_animdata_free(ID *id, const bool do_id_user) } } +bool BKE_animdata_id_is_animated(struct ID *id) +{ + if (id == NULL) { + return false; + } + + AnimData *adt = BKE_animdata_from_id(id); + if (adt == NULL) { + return false; + } + + if (adt->action != NULL && !BLI_listbase_is_empty(&adt->action->curves)) { + return true; + } + + return !BLI_listbase_is_empty(&adt->drivers) || !BLI_listbase_is_empty(&adt->nla_tracks); +} + /* Copying -------------------------------------------- */ /** |