From d998258fa68ef6b4a22172bde10ad45e947a645b Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Thu, 23 Jul 2020 11:22:55 +0200 Subject: LibOverride: Make `ID_IS_OVERRIDABLE_LIBRARY` macro more correct. --- source/blender/makesdna/DNA_ID.h | 3 ++- source/blender/makesrna/intern/rna_ID.c | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'source') diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h index 5baa60d1782..f3bde04184b 100644 --- a/source/blender/makesdna/DNA_ID.h +++ b/source/blender/makesdna/DNA_ID.h @@ -478,7 +478,8 @@ typedef enum ID_Type { /* Note that this is a fairly high-level check, should be used at user interaction level, not in * BKE_library_override typically (especially due to the check on LIB_TAG_EXTERN). */ #define ID_IS_OVERRIDABLE_LIBRARY(_id) \ - (ID_IS_LINKED(_id) && !ID_MISSING(_id) && (((const ID *)(_id))->tag & LIB_TAG_EXTERN) != 0) + (ID_IS_LINKED(_id) && !ID_MISSING(_id) && (((const ID *)(_id))->tag & LIB_TAG_EXTERN) != 0 && \ + (BKE_idtype_get_info_from_id((const ID *)(_id))->flags & IDTYPE_FLAGS_NO_LIBLINKING) == 0) #define ID_IS_OVERRIDE_LIBRARY_REAL(_id) \ (((const ID *)(_id))->override_library != NULL && \ diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index 8d498ab569b..e9ca0d577ce 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -96,6 +96,7 @@ const EnumPropertyItem rna_enum_id_type_items[] = { # include "BKE_font.h" # include "BKE_global.h" /* XXX, remove me */ # include "BKE_idprop.h" +# include "BKE_idtype.h" # include "BKE_lib_override.h" # include "BKE_lib_query.h" # include "BKE_lib_remap.h" -- cgit v1.2.3