From aed1320b247ecf1d75bc84a99dca40da342fde59 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 4 Dec 2017 16:23:14 +0100 Subject: Add utility function to compare PointerRNA with NULL Thanks Campbell for review! --- source/blender/makesrna/RNA_access.h | 1 + source/blender/makesrna/intern/rna_access.c | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'source') 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) { -- cgit v1.2.3