From be7106a974646483f4b087539c62603fe53560cf Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Fri, 22 Jan 2021 14:52:50 +0100 Subject: LibOverride: Add an 'post apply' callback to IDTypeInfo. Currently this is needed to properly tag PointCache's for info update (fixes an issue reported in T82503). Suspect we may need this in more cases in the future though, RNA assign/update processes are not always 100% enough to deal with complicated corner cases. --- source/blender/blenkernel/BKE_idtype.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source/blender/blenkernel/BKE_idtype.h') diff --git a/source/blender/blenkernel/BKE_idtype.h b/source/blender/blenkernel/BKE_idtype.h index 1298e3c2bbf..edfc96f3059 100644 --- a/source/blender/blenkernel/BKE_idtype.h +++ b/source/blender/blenkernel/BKE_idtype.h @@ -106,6 +106,8 @@ typedef void (*IDTypeBlendReadUndoPreserve)(struct BlendLibReader *reader, struct ID *id_new, struct ID *id_old); +typedef void (*IDTypeLibOverrideApplyPost)(struct ID *id_dst, struct ID *id_src); + typedef struct IDTypeInfo { /* ********** General IDType data. ********** */ @@ -207,6 +209,13 @@ typedef struct IDTypeInfo { * \note Called from #setup_app_data when undoing or redoing a memfile step. */ IDTypeBlendReadUndoPreserve blend_read_undo_preserve; + + /** + * Called after library override operations have been applied. + * + * \note Currently needed for some update operation on point caches. + */ + IDTypeLibOverrideApplyPost lib_override_apply_post; } IDTypeInfo; /* ********** Declaration of each IDTypeInfo. ********** */ -- cgit v1.2.3