[Bf-blender-cvs] [aed1320b247] master: Add utility function to compare PointerRNA with NULL

Sergey Sharybin noreply at git.blender.org
Wed Dec 6 10:32:22 CET 2017


Commit: aed1320b247ecf1d75bc84a99dca40da342fde59
Author: Sergey Sharybin
Date:   Mon Dec 4 16:23:14 2017 +0100
Branches: master
https://developer.blender.org/rBaed1320b247ecf1d75bc84a99dca40da342fde59

Add utility function to compare PointerRNA with NULL

Thanks Campbell for review!

===================================================================

M	source/blender/makesrna/RNA_access.h
M	source/blender/makesrna/intern/rna_access.c

===================================================================

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) {



More information about the Bf-blender-cvs mailing list