[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21699] branches/blender2.5/blender: issues auto generating rna docs

Campbell Barton ideasman42 at gmail.com
Sun Jul 19 16:57:20 CEST 2009


Revision: 21699
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21699
Author:   campbellbarton
Date:     2009-07-19 16:57:20 +0200 (Sun, 19 Jul 2009)

Log Message:
-----------
issues auto generating rna docs
- add a warning when an operator name is NULL, set it to a dummy name to prevent crash. POSE_OT_constraints_clear had its name commented (not sure why)
- rna_Object_parent_type_itemf wasnt checking for context being NULL, needed for docs else it crashes.
- bpy.ops.add/remove didnt show up in a dir(bpy.ops)

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/bpy_ops.py
    branches/blender2.5/blender/source/blender/editors/object/editconstraint.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/release/ui/bpy_ops.py
===================================================================
--- branches/blender2.5/blender/release/ui/bpy_ops.py	2009-07-19 13:32:02 UTC (rev 21698)
+++ branches/blender2.5/blender/release/ui/bpy_ops.py	2009-07-19 14:57:20 UTC (rev 21699)
@@ -26,8 +26,12 @@
 		
 		submodules = set()
 		
+		# add this classes functions
+		for id_name in dir(self.__class__):
+			if not id_name.startswith('__'):
+				submodules.add(id_name)
+		
 		for id_name in op_dir():
-			
 			id_split = id_name.split('_OT_', 1)
 			
 			if len(id_split) == 2:
@@ -65,10 +69,6 @@
 		module_upper = self.module.upper()
 		
 		for id_name in op_dir():
-			
-			if id_name.startswith('__'):
-				continue
-			
 			id_split = id_name.split('_OT_', 1)
 			if len(id_split) == 2 and module_upper == id_split[0]:
 				functions.add(id_split[1])

Modified: branches/blender2.5/blender/source/blender/editors/object/editconstraint.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/editconstraint.c	2009-07-19 13:32:02 UTC (rev 21698)
+++ branches/blender2.5/blender/source/blender/editors/object/editconstraint.c	2009-07-19 14:57:20 UTC (rev 21699)
@@ -1011,7 +1011,7 @@
 void POSE_OT_constraints_clear(wmOperatorType *ot)
 {
 	/* identifiers */
-	//ot->name = "Clear Constraints";
+	ot->name = "Clear Constraints";
 	ot->idname= "POSE_OT_constraints_clear";
 	ot->description= "Clear all the constraints for the selected bones.";
 	

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c	2009-07-19 13:32:02 UTC (rev 21698)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c	2009-07-19 14:57:20 UTC (rev 21699)
@@ -184,13 +184,18 @@
 static EnumPropertyItem *rna_Object_parent_type_itemf(bContext *C, PointerRNA *ptr, int *free)
 {
 	Object *ob= (Object*)ptr->data;
-	Object *par= ob->parent;
 	EnumPropertyItem *item= NULL;
 	int totitem= 0;
 
+	if(C==NULL) {
+		return parent_type_items;
+	}
+	
 	RNA_enum_items_add_value(&item, &totitem, parent_type_items, PAROBJECT);
 
-	if(par) {
+	if(ob->parent) {
+		Object *par= ob->parent;
+		
 		if(par->type == OB_CURVE)
 			RNA_enum_items_add_value(&item, &totitem, parent_type_items, PARCURVE);
 		else if(par->type == OB_LATTICE)

Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-07-19 13:32:02 UTC (rev 21698)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c	2009-07-19 14:57:20 UTC (rev 21699)
@@ -130,6 +130,13 @@
 	ot= MEM_callocN(sizeof(wmOperatorType), "operatortype");
 	ot->srna= RNA_def_struct(&BLENDER_RNA, "", "OperatorProperties");
 	opfunc(ot);
+
+	if(ot->name==NULL) {
+		static char dummy_name[] = "Dummy Name";
+		fprintf(stderr, "ERROR: Operator %s has no name property!\n", ot->idname);
+		ot->name= dummy_name;
+	}
+
 	RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:""); // XXX All ops should have a description but for now allow them not to.
 	RNA_def_struct_identifier(ot->srna, ot->idname);
 	BLI_addtail(&global_ops, ot);





More information about the Bf-blender-cvs mailing list