diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-01-08 18:33:34 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2009-01-08 18:33:34 +0300 |
commit | b5fcf3daff618376402557c7ad514900edeeb255 (patch) | |
tree | 5453747c378a602fe867e216debaf205ec70e269 /source/blender/makesrna/intern | |
parent | 8140c76ac6142cd7182eacd866744017929a4a69 (diff) |
RNA: don't pass RNA type in RNA_id_pointer_create, can be found automatically.
Diffstat (limited to 'source/blender/makesrna/intern')
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 55d3cde4af7..a56980c96b2 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -61,16 +61,34 @@ void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr) r_ptr->data= main; } -void RNA_id_pointer_create(StructRNA *idtype, ID *id, PointerRNA *r_ptr) +void RNA_id_pointer_create(ID *id, PointerRNA *r_ptr) { + PointerRNA tmp; + StructRNA *idtype= NULL; + + if(id) { + memset(&tmp, 0, sizeof(tmp)); + tmp.data= id; + idtype= rna_ID_refine(&tmp); + } + r_ptr->id.type= idtype; r_ptr->id.data= id; r_ptr->type= idtype; r_ptr->data= id; } -void RNA_pointer_create(StructRNA *idtype, ID *id, StructRNA *type, void *data, PointerRNA *r_ptr) +void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr) { + PointerRNA tmp; + StructRNA *idtype= NULL; + + if(id) { + memset(&tmp, 0, sizeof(tmp)); + tmp.data= id; + idtype= rna_ID_refine(&tmp); + } + r_ptr->id.type= idtype; r_ptr->id.data= id; r_ptr->type= type; |