[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33627] trunk/blender/source/blender/ python/intern/bpy_rna.c: exceptions in registering properties were not properly handled, allowing a single error stop the main module registration loop.
Campbell Barton
ideasman42 at gmail.com
Mon Dec 13 08:54:35 CET 2010
Revision: 33627
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33627
Author: campbellbarton
Date: 2010-12-13 08:54:35 +0100 (Mon, 13 Dec 2010)
Log Message:
-----------
exceptions in registering properties were not properly handled, allowing a single error stop the main module registration loop.
worst case 1 script error could load blender without a UI.
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 2010-12-13 06:54:25 UTC (rev 33626)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c 2010-12-13 07:54:35 UTC (rev 33627)
@@ -4908,7 +4908,7 @@
PyObject *item, *key;
PyObject *order;
Py_ssize_t pos = 0;
- int ret;
+ int ret= 0;
/* in both cases PyDict_CheckExact(class_dict) will be true even
* though Operators have a metaclass dict namespace */
@@ -4918,7 +4918,7 @@
key= PyList_GET_ITEM(order, pos);
item= PyDict_GetItem(class_dict, key);
ret= deferred_register_prop(srna, key, item);
- if(ret==-1)
+ if(ret != 0)
break;
}
}
@@ -4926,12 +4926,12 @@
while (PyDict_Next(class_dict, &pos, &key, &item)) {
ret= deferred_register_prop(srna, key, item);
- if(ret==-1)
+ if(ret != 0)
break;
}
}
- return 0;
+ return ret;
}
static int pyrna_deferred_register_class_recursive(StructRNA *srna, PyTypeObject *py_class)
More information about the Bf-blender-cvs
mailing list