diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-06-24 18:03:55 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-06-24 18:03:55 +0400 |
commit | 242d9c31d3316f99525925eb7da30522457064e8 (patch) | |
tree | 2ff511c7ebf191a2a6376c53a63050afe459492f /source/blender/blenkernel/intern/context.c | |
parent | 9abce5dfbaee953fcec0779a94cbadc3516b9daf (diff) |
RNA
* RNA_struct_name_get_alloc function to get the name from a
pointer, instead of having to deal with name property.
* CTX_data_pointer_get_type to get data from context with
a check for the RNA type.
Diffstat (limited to 'source/blender/blenkernel/intern/context.c')
-rw-r--r-- | source/blender/blenkernel/intern/context.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/context.c b/source/blender/blenkernel/intern/context.c index 12deec838a8..90880e354ec 100644 --- a/source/blender/blenkernel/intern/context.c +++ b/source/blender/blenkernel/intern/context.c @@ -365,15 +365,20 @@ PointerRNA CTX_data_pointer_get(const bContext *C, const char *member) { bContextDataResult result; - if(ctx_data_get((bContext*)C, member, &result)) { + if(ctx_data_get((bContext*)C, member, &result)) return result.ptr; - } - else { - PointerRNA ptr; - memset(&ptr, 0, sizeof(ptr)); - return ptr; - } + else + return PointerRNA_NULL; +} + +PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type) +{ + PointerRNA ptr = CTX_data_pointer_get(C, member); + if(ptr.data && ptr.type == type) + return ptr; + + return PointerRNA_NULL; } ListBase CTX_data_collection_get(const bContext *C, const char *member) |