From fc24d1a9744773ee03d1197a702696ba24527d20 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Thu, 10 Jan 2019 15:50:15 +0100 Subject: Keep track of owner of f-curve This is a part of another which, which needs to tag owner of f-curve for an update. But since this is too many lines changed committing separately. Basically, for f-curve AnimElement we are now storing ID whih owns the f-curve. --- source/blender/editors/include/ED_anim_api.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source/blender/editors/include') diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h index f7cd7bc3786..4bb9960ba21 100644 --- a/source/blender/editors/include/ED_anim_api.h +++ b/source/blender/editors/include/ED_anim_api.h @@ -141,6 +141,18 @@ typedef struct bAnimListElem { struct ID *id; /* ID block that channel is attached to */ struct AnimData *adt; /* source of the animation data attached to ID block (for convenience) */ + /* For list element which corresponds to a f-curve, this is an ID which + * owns the f-curve. + * + * For example, if the f-curve is coming from Action, this id will be set to + * action's ID. But if this is a f-curve which is a driver, then the owner + * is set to, for example, object. + * + * Note, that this is different from id above. The if above will be set to + * an object if the f-curve is coming from action associated with that + * object. */ + struct ID *fcurve_owner_id; + void *owner; /* for per-element F-Curves (e.g. NLA Control Curves), the element that this represents (e.g. NlaStrip) */ } bAnimListElem; -- cgit v1.2.3