From c29114ed9fe89f7c8dd7d46d2db4f9a7be78befa Mon Sep 17 00:00:00 2001 From: Chris Clyne Date: Fri, 12 Jan 2024 00:24:41 +0000 Subject: [PATCH] GooEngine: Ignore Action ID pointers when performing a Library Override Resync Enforce operation --- .../makesrna/intern/rna_access_compare_override.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/blender/makesrna/intern/rna_access_compare_override.cc b/source/blender/makesrna/intern/rna_access_compare_override.cc index 58e198fb547..85dbae4a8dc 100644 --- a/source/blender/makesrna/intern/rna_access_compare_override.cc +++ b/source/blender/makesrna/intern/rna_access_compare_override.cc @@ -1447,6 +1447,14 @@ static bool override_apply_property_check_skip(Main *bmain, { UNUSED_VARS_NDEBUG(bmain, id_ptr_src); + // HACK: Specifically prevent overriding actions when Resync Enforce is used + if ((rnaapply_ctx.flag & RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS) != 0) { + StructRNA* rna_type = RNA_property_pointer_type(&rnaapply_ctx.ptr_dst, rnaapply_ctx.prop_dst); + if (RNA_struct_is_ID(rna_type) && RNA_type_to_ID_code(rna_type) == ID_AC) { + return false; + } + } + if ((rnaapply_ctx.flag & RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS) == 0) { return false; }