[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [23835] trunk/blender/source/blender/ python/intern/bpy_rna.c: Bugfixes for python RNA/
Brecht Van Lommel
brecht at blender.org
Wed Oct 14 16:44:05 CEST 2009
Revision: 23835
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23835
Author: blendix
Date: 2009-10-14 16:44:05 +0200 (Wed, 14 Oct 2009)
Log Message:
-----------
Bugfixes for python RNA/
* Adding properties to python defined subclasses could add
them to the base type instead.
* FloatProperty did not work correct with negative min/max.
Modified Paths:
--------------
trunk/blender/source/blender/python/intern/bpy_rna.c
Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c 2009-10-14 14:28:05 UTC (rev 23834)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c 2009-10-14 14:44:05 UTC (rev 23835)
@@ -2315,6 +2315,19 @@
NULL
};
+static struct PyMethodDef pyrna_struct_subtype_methods[] = {
+ {"BoolProperty", (PyCFunction)BPy_BoolProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"IntProperty", (PyCFunction)BPy_IntProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"FloatProperty", (PyCFunction)BPy_FloatProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"StringProperty", (PyCFunction)BPy_StringProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"EnumProperty", (PyCFunction)BPy_EnumProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"PointerProperty", (PyCFunction)BPy_PointerProperty, METH_VARARGS|METH_KEYWORDS, ""},
+ {"CollectionProperty", (PyCFunction)BPy_CollectionProperty, METH_VARARGS|METH_KEYWORDS, ""},
+
+// {"__get_rna", (PyCFunction)BPy_GetStructRNA, METH_NOARGS, ""},
+ {NULL, NULL, 0, NULL}
+};
+
static void pyrna_subtype_set_rna(PyObject *newclass, StructRNA *srna)
{
PointerRNA ptr;
@@ -2340,6 +2353,17 @@
PyDict_SetItemString(((PyTypeObject *)newclass)->tp_dict, "__rna__", item);
Py_DECREF(item);
/* done with rna instance */
+
+ /* attach functions into the class
+ * so you can do... bpy.types.Scene.SomeFunction()
+ */
+ {
+ PyMethodDef *ml;
+
+ for(ml= pyrna_struct_subtype_methods; ml->ml_name; ml++){
+ PyObject_SetAttrString(newclass, ml->ml_name, PyCFunction_New(ml, newclass));
+ }
+ }
}
/*
@@ -2362,20 +2386,6 @@
}
*/
-static struct PyMethodDef pyrna_struct_subtype_methods[] = {
- {"BoolProperty", (PyCFunction)BPy_BoolProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"IntProperty", (PyCFunction)BPy_IntProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"FloatProperty", (PyCFunction)BPy_FloatProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"StringProperty", (PyCFunction)BPy_StringProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"EnumProperty", (PyCFunction)BPy_EnumProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"PointerProperty", (PyCFunction)BPy_PointerProperty, METH_VARARGS|METH_KEYWORDS, ""},
- {"CollectionProperty", (PyCFunction)BPy_CollectionProperty, METH_VARARGS|METH_KEYWORDS, ""},
-
-// {"__get_rna", (PyCFunction)BPy_GetStructRNA, METH_NOARGS, ""},
- {NULL, NULL, 0, NULL}
-};
-
-
PyObject* pyrna_srna_Subtype(StructRNA *srna)
{
PyObject *newclass = NULL;
@@ -2425,18 +2435,6 @@
pyrna_subtype_set_rna(newclass, srna);
Py_DECREF(newclass); /* let srna own */
-
-
- /* attach functions into the class
- * so you can do... bpy.types.Scene.SomeFunction()
- */
- {
- PyMethodDef *ml;
- for(ml= pyrna_struct_subtype_methods; ml->ml_name; ml++){
- PyObject_SetAttrString(newclass, ml->ml_name, PyCFunction_New(ml, newclass));
- }
- }
-
}
else {
/* this should not happen */
@@ -2818,7 +2816,7 @@
{
static char *kwlist[] = {"attr", "name", "description", "min", "max", "soft_min", "soft_max", "default", NULL};
char *id, *name="", *description="";
- float min=FLT_MIN, max=FLT_MAX, soft_min=FLT_MIN, soft_max=FLT_MAX, def=0.0f;
+ float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, def=0.0f;
PropertyRNA *prop;
StructRNA *srna;
More information about the Bf-blender-cvs
mailing list