[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31318] trunk/blender/source/blender: - remove WM_operatortype_exists since its almost the same as WM_operatortype_find

Campbell Barton ideasman42 at gmail.com
Fri Aug 13 16:42:45 CEST 2010


Revision: 31318
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31318
Author:   campbellbarton
Date:     2010-08-13 16:42:45 +0200 (Fri, 13 Aug 2010)

Log Message:
-----------
- remove WM_operatortype_exists since its almost the same as WM_operatortype_find
- hopefully fix reported problem with MSVC.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_access.c
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c
    trunk/blender/source/blender/makesrna/intern/rna_particle.c
    trunk/blender/source/blender/makesrna/intern/rna_wm.c
    trunk/blender/source/blender/python/intern/bpy_operator.c
    trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
    trunk/blender/source/blender/windowmanager/WM_api.h
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -574,7 +574,7 @@
 	FunctionRNA *func;
 	StructRNA *type;
 	for(type= ptr->type; type; type= type->base) {
-		func= BLI_findstring_ptr(&type->functions, identifier, offsetof(FunctionRNA, identifier));
+		func= (FunctionRNA *)BLI_findstring_ptr(&type->functions, identifier, offsetof(FunctionRNA, identifier));
 		if(func) {
 			return func;
 		}

Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -57,22 +57,29 @@
 {
 	ID *id= ptr->id.data;
 
-	DAG_id_flush_update(id, OB_RECALC_DATA);
-	WM_main_add_notifier(NC_GEOM|ND_DATA, id);
+	/* cheating way for importers to avoid slow updates */
+	if(id->us > 0) {
+		DAG_id_flush_update(id, OB_RECALC_DATA);
+		WM_main_add_notifier(NC_GEOM|ND_DATA, id);
+	}
 }
 
 static void rna_Mesh_update_select(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
 	ID *id= ptr->id.data;
-
-	WM_main_add_notifier(NC_GEOM|ND_SELECT, id);
+	/* cheating way for importers to avoid slow updates */
+	if(id->us > 0) {
+		WM_main_add_notifier(NC_GEOM|ND_SELECT, id);
+	}
 }
 
 void rna_Mesh_update_draw(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
 	ID *id= ptr->id.data;
-
-	WM_main_add_notifier(NC_GEOM|ND_DATA, id);
+	/* cheating way for importers to avoid slow updates */
+	if(id->us > 0) {
+		WM_main_add_notifier(NC_GEOM|ND_DATA, id);
+	}
 }
 
 static void rna_MeshVertex_normal_get(PointerRNA *ptr, float *value)

Modified: trunk/blender/source/blender/makesrna/intern/rna_particle.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_particle.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/makesrna/intern/rna_particle.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -1059,13 +1059,14 @@
 	};
 
 	//TODO: names, tooltips
+#if 0
 	static EnumPropertyItem rot_from_items[] = {
 		{PART_ROT_KEYS, "KEYS", 0, "keys", ""},
 		{PART_ROT_ZINCR, "ZINCR", 0, "zincr", ""},
 		{PART_ROT_IINCR, "IINCR", 0, "iincr", ""},
 		{0, NULL, 0, NULL, NULL}
 	};
-
+#endif
 	static EnumPropertyItem integrator_type_items[] = {
 		{PART_INT_EULER, "EULER", 0, "Euler", ""},
 		{PART_INT_VERLET, "VERLET", 0, "Verlet", ""},
@@ -1433,11 +1434,13 @@
 	RNA_def_property_update(prop, 0, "rna_Particle_redo");
 
 
-	//TODO: is this read only/internal?
+	// not used anywhere, why is this in DNA???
+#if 0
 	prop= RNA_def_property(srna, "rotate_from", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "rotfrom");
 	RNA_def_property_enum_items(prop, rot_from_items);
 	RNA_def_property_ui_text(prop, "Rotate From", "");
+#endif
 
 	prop= RNA_def_property(srna, "integrator", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_items(prop, integrator_type_items);

Modified: trunk/blender/source/blender/makesrna/intern/rna_wm.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_wm.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/makesrna/intern/rna_wm.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -361,7 +361,7 @@
 static PointerRNA rna_OperatorTypeMacro_properties_get(PointerRNA *ptr)
 {
 	wmOperatorTypeMacro *otmacro= (wmOperatorTypeMacro*)ptr->data;
-	wmOperatorType *ot = WM_operatortype_exists(otmacro->idname);
+	wmOperatorType *ot = WM_operatortype_find(otmacro->idname, TRUE);
 	return rna_pointer_inherit_refine(ptr, ot->srna, otmacro->properties);
 }
 
@@ -796,7 +796,7 @@
 
 	/* check if we have registered this operator type before, and remove it */
 	{
-		wmOperatorType *ot= WM_operatortype_exists(dummyot.idname);
+		wmOperatorType *ot= WM_operatortype_find(dummyot.idname, TRUE);
 		if(ot && ot->ext.srna)
 			rna_Operator_unregister(C, ot->ext.srna);
 	}
@@ -865,7 +865,7 @@
 
 	/* check if we have registered this operator type before, and remove it */
 	{
-		wmOperatorType *ot= WM_operatortype_exists(dummyot.idname);
+		wmOperatorType *ot= WM_operatortype_find(dummyot.idname, TRUE);
 		if(ot && ot->ext.srna)
 			rna_Operator_unregister(C, ot->ext.srna);
 	}

Modified: trunk/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/python/intern/bpy_operator.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -63,7 +63,7 @@
 	if (!PyArg_ParseTuple(args, "sO|O!s:_bpy.ops.call", &opname, &context_dict, &PyDict_Type, &kw, &context_str))
 		return NULL;
 
-	ot= WM_operatortype_exists(opname);
+	ot= WM_operatortype_find(opname, TRUE);
 
 	if (ot == NULL) {
 		PyErr_Format( PyExc_SystemError, "Calling operator \"bpy.ops.%s\" error, could not be found", opname);

Modified: trunk/blender/source/blender/python/intern/bpy_operator_wrap.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/python/intern/bpy_operator_wrap.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -105,7 +105,7 @@
 	if (!PyArg_ParseTuple(args, "Os:_bpy.ops.macro_define", &macro, &opname))
 		return NULL;
 
-	if (WM_operatortype_exists(opname) == NULL) {
+	if (WM_operatortype_find(opname, TRUE) == NULL) {
 		PyErr_Format(PyExc_ValueError, "Macro Define: '%s' is not a valid operator id", opname);
 		return NULL;
 	}
@@ -114,7 +114,7 @@
 	srna= srna_from_self(macro, "Macro Define:");
 	macroname = RNA_struct_identifier(srna);
 
-	ot = WM_operatortype_exists(macroname);
+	ot = WM_operatortype_find(macroname, TRUE);
 
 	if (!ot) {
 		PyErr_Format(PyExc_ValueError, "Macro Define: '%s' is not a valid macro or hasn't been registered yet", macroname);

Modified: trunk/blender/source/blender/windowmanager/WM_api.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_api.h	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/windowmanager/WM_api.h	2010-08-13 14:42:45 UTC (rev 31318)
@@ -201,7 +201,6 @@
 void		WM_operator_stack_clear(struct bContext *C);
 
 struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet);
-struct wmOperatorType *WM_operatortype_exists(const char *idname);
 struct wmOperatorType *WM_operatortype_first(void);
 void		WM_operatortype_append	(void (*opfunc)(struct wmOperatorType*));
 void		WM_operatortype_append_ptr	(void (*opfunc)(struct wmOperatorType*, void *), void *userdata);

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-08-13 14:29:56 UTC (rev 31317)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2010-08-13 14:42:45 UTC (rev 31318)
@@ -105,7 +105,7 @@
 	WM_operator_bl_idname(idname_bl, idname);
 
 	if (idname_bl[0]) {
-		ot= BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname));
+		ot= (wmOperatorType *)BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname));
 		if(ot) {
 			return ot;
 		}
@@ -117,22 +117,6 @@
 	return NULL;
 }
 
-wmOperatorType *WM_operatortype_exists(const char *idname)
-{
-	wmOperatorType *ot;
-	
-	char idname_bl[OP_MAX_TYPENAME]; // XXX, needed to support python style names without the _OT_ syntax
-	WM_operator_bl_idname(idname_bl, idname);
-	
-	if(idname_bl[0]) {
-		for(ot= global_ops.first; ot; ot= ot->next) {
-			if(strncmp(ot->idname, idname_bl, OP_MAX_TYPENAME)==0)
-			   return ot;
-		}
-	}
-	return NULL;
-}
-
 wmOperatorType *WM_operatortype_first(void)
 {
 	return global_ops.first;
@@ -333,7 +317,7 @@
 {
 	wmOperatorType *ot;
 	
-	if(WM_operatortype_exists(idname)) {
+	if(WM_operatortype_find(idname, TRUE)) {
 		printf("Macro error: operator %s exists\n", idname);
 		return NULL;
 	}





More information about the Bf-blender-cvs mailing list