diff options
author | Bastien Montagne <bastien@blender.org> | 2020-07-23 12:22:55 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2020-07-23 12:33:24 +0300 |
commit | d998258fa68ef6b4a22172bde10ad45e947a645b (patch) | |
tree | b37633115553dda819cced1e3ee7d33abaae4146 | |
parent | ef17e7e51bc7e4c835c2e7e4c054b98e2d6418ba (diff) |
LibOverride: Make `ID_IS_OVERRIDABLE_LIBRARY` macro more correct.
-rw-r--r-- | source/blender/makesdna/DNA_ID.h | 3 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_ID.c | 1 |
2 files changed, 3 insertions, 1 deletions
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" |