diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-12-04 18:23:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-12-06 12:21:32 +0300 |
commit | aed1320b247ecf1d75bc84a99dca40da342fde59 (patch) | |
tree | 6dc5fa219cf380bb1876f9df1ceb296af8fafc9f /source/blender/makesrna | |
parent | a68e10be5ef1563073aa37db505335dd507358f6 (diff) |
Add utility function to compare PointerRNA with NULL
Thanks Campbell for review!
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 7e8c860863d..a975cbbfd7d 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -724,6 +724,7 @@ extern StructRNA RNA_XorController; void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr); void RNA_id_pointer_create(struct ID *id, PointerRNA *r_ptr); void RNA_pointer_create(struct ID *id, StructRNA *type, void *data, PointerRNA *r_ptr); +bool RNA_pointer_is_null(const PointerRNA *ptr); bool RNA_path_resolved_create( PointerRNA *ptr, struct PropertyRNA *prop, diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 471db22af8e..1f974f3a440 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -172,6 +172,11 @@ void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr) } } +bool RNA_pointer_is_null(const PointerRNA *ptr) +{ + return !((ptr->data != NULL) && (ptr->id.data != NULL) && (ptr->type != NULL)); +} + static void rna_pointer_inherit_id(StructRNA *type, PointerRNA *parent, PointerRNA *ptr) { if (type && type->flag & STRUCT_ID) { |