[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18419] branches/blender2.5/blender/source /blender: RNA: don't pass RNA type in RNA_id_pointer_create, can be found automatically.

Brecht Van Lommel brecht at blender.org
Thu Jan 8 16:33:34 CET 2009


Revision: 18419
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18419
Author:   blendix
Date:     2009-01-08 16:33:34 +0100 (Thu, 08 Jan 2009)

Log Message:
-----------
RNA: don't pass RNA type in RNA_id_pointer_create, can be found automatically.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-01-08 15:29:09 UTC (rev 18418)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c	2009-01-08 15:33:34 UTC (rev 18419)
@@ -1357,7 +1357,7 @@
 	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);
 

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-08 15:29:09 UTC (rev 18418)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-08 15:33:34 UTC (rev 18419)
@@ -270,8 +270,8 @@
  */
 
 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);
 

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-01-08 15:29:09 UTC (rev 18418)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c	2009-01-08 15:33:34 UTC (rev 18419)
@@ -61,16 +61,34 @@
 	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;

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-01-08 15:29:09 UTC (rev 18418)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c	2009-01-08 15:33:34 UTC (rev 18419)
@@ -392,7 +392,7 @@
 			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) {

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-01-08 15:29:09 UTC (rev 18418)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-01-08 15:33:34 UTC (rev 18419)
@@ -172,7 +172,7 @@
 	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));
 }





More information about the Bf-blender-cvs mailing list