Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-01-08 18:33:34 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-01-08 18:33:34 +0300
commitb5fcf3daff618376402557c7ad514900edeeb255 (patch)
tree5453747c378a602fe867e216debaf205ec70e269 /source
parent8140c76ac6142cd7182eacd866744017929a4a69 (diff)
RNA: don't pass RNA type in RNA_id_pointer_create, can be found automatically.
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_outliner/outliner.c2
-rw-r--r--source/blender/makesrna/RNA_access.h4
-rw-r--r--source/blender/makesrna/intern/rna_access.c22
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c2
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c2
5 files changed, 25 insertions, 7 deletions
diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c
index 743f1edba3e..fad19f6a023 100644
--- a/source/blender/editors/space_outliner/outliner.c
+++ b/source/blender/editors/space_outliner/outliner.c
@@ -1357,7 +1357,7 @@ static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
else if(soops->outlinevis==SO_USERDEF) {
PointerRNA userdefptr;
- RNA_pointer_create(NULL, NULL, &RNA_UserPreferences, &U, &userdefptr);
+ RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index 34a26480fe7..f6a568d8e93 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -270,8 +270,8 @@ extern StructRNA RNA_XorController;
*/
void RNA_main_pointer_create(struct Main *main, PointerRNA *r_ptr);
-void RNA_id_pointer_create(StructRNA *idtype, struct ID *id, PointerRNA *r_ptr);
-void RNA_pointer_create(StructRNA *idtype, struct ID *id, StructRNA *type, void *data, 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);
void RNA_blender_rna_pointer_create(PointerRNA *r_ptr);
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;
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index eb5a1449f36..046fbdefb64 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -392,7 +392,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
IDPropertyTemplate val = {0};
op->properties= IDP_New(IDP_GROUP, val, "wmOperatorProperties");
}
- RNA_pointer_create(&RNA_WindowManager, &wm->id, ot->srna, op->properties, op->ptr);
+ RNA_pointer_create(&wm->id, ot->srna, op->properties, op->ptr);
/* initialize error reports */
if (reports) {
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index f79b5a2955d..afd66652be2 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -172,7 +172,7 @@ void WM_operator_properties_create(PointerRNA *ptr, const char *opstring)
wmOperatorType *ot= WM_operatortype_find(opstring);
if(ot)
- RNA_pointer_create(NULL, NULL, ot->srna, NULL, ptr);
+ RNA_pointer_create(NULL, ot->srna, NULL, ptr);
else
memset(ptr, 0, sizeof(*ptr));
}