diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-29 13:46:54 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2018-06-29 13:48:12 +0300 |
commit | 2223d63c58c9a2125fb4a2e6ee1c780c781a95bb (patch) | |
tree | 42b820b7ffd2ebe4f71a51d6e05b73c1cc13fdd7 /source/blender/makesrna/RNA_access.h | |
parent | 3733be8731df978ec50cd283ff24b813bdd89df1 (diff) |
Refactor static override code to pass Main around.
Access to main database is actually rarely needed, but some custom
'apply' functions do need it (like Collections' overriding of objects or
children collections).
Diffstat (limited to 'source/blender/makesrna/RNA_access.h')
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 4ec6107d676..a135e716770 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -977,7 +977,7 @@ void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop); bool RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, int pos); /* copy/reset */ -bool RNA_property_copy(PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); +bool RNA_property_copy(struct Main *bmain, PointerRNA *ptr, PointerRNA *fromptr, PropertyRNA *prop, int index); bool RNA_property_reset(PointerRNA *ptr, PropertyRNA *prop, int index); /* Path @@ -1251,8 +1251,12 @@ typedef enum eRNACompareMode { RNA_EQ_COMPARE, } eRNACompareMode; -bool RNA_property_equals(struct PointerRNA *ptr_a, struct PointerRNA *ptr_b, struct PropertyRNA *prop, eRNACompareMode mode); -bool RNA_struct_equals(struct PointerRNA *ptr_a, struct PointerRNA *ptr_b, eRNACompareMode mode); +bool RNA_property_equals( + struct Main *bmain, + struct PointerRNA *ptr_a, struct PointerRNA *ptr_b, struct PropertyRNA *prop, eRNACompareMode mode); +bool RNA_struct_equals( + struct Main *bmain, + struct PointerRNA *ptr_a, struct PointerRNA *ptr_b, eRNACompareMode mode); /* Override. */ @@ -1284,15 +1288,18 @@ typedef enum eRNAOverrideStatus { } eRNAOverrideStatus; bool RNA_struct_override_matches( + struct Main *bmain, struct PointerRNA *ptr_local, struct PointerRNA *ptr_reference, const char *root_path, struct IDOverrideStatic *override, const eRNAOverrideMatch flags, eRNAOverrideMatchResult *r_report_flags); bool RNA_struct_override_store( + struct Main *bmain, struct PointerRNA *ptr_local, struct PointerRNA *ptr_reference, PointerRNA *ptr_storage, struct IDOverrideStatic *override); void RNA_struct_override_apply( + struct Main *bmain, struct PointerRNA *ptr_local, struct PointerRNA *ptr_override, struct PointerRNA *ptr_storage, struct IDOverrideStatic *override); |