Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesrna/RNA_access.h')
-rw-r--r--source/blender/makesrna/RNA_access.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index 74b8517f538..4c60ffe4f16 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -1512,11 +1512,21 @@ bool RNA_struct_override_store(struct Main *bmain,
PointerRNA *ptr_storage,
struct IDOverrideLibrary *override);
+typedef enum eRNAOverrideApplyFlag {
+ RNA_OVERRIDE_APPLY_FLAG_NOP = 0,
+ /**
+ * Hack to work around/fix older broken overrides: Do not apply override operations affecting ID
+ * pointers properties, unless the destination original value (the one being overridden) is NULL.
+ */
+ RNA_OVERRIDE_APPLY_FLAG_IGNORE_ID_POINTERS = 1 << 0,
+} eRNAOverrideApplyFlag;
+
void RNA_struct_override_apply(struct Main *bmain,
struct PointerRNA *ptr_dst,
struct PointerRNA *ptr_src,
struct PointerRNA *ptr_storage,
- struct IDOverrideLibrary *override);
+ struct IDOverrideLibrary *override,
+ const eRNAOverrideApplyFlag flag);
struct IDOverrideLibraryProperty *RNA_property_override_property_find(struct Main *bmain,
PointerRNA *ptr,