Revision: 53192
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53192
Author: campbellbarton
Date: 2012-12-20 03:08:27 +0000 (Thu, 20 Dec 2012)
Log Message:
-----------
py api: be more strict with boolean assignment, only accept 0 or 1, True/False.
Would allow any nonzero value.
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 2012-12-20
02:57:04 UTC (rev 53191)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c 2012-12-20
03:08:27 UTC (rev 53192)
@@ -1510,12 +1510,18 @@
/* prefer not to have an exception here
* however so many poll functions return None
or a valid Object.
* its a hassle to convert these into a bool
before returning, */
- if (RNA_property_flag(prop) & PROP_OUTPUT)
+ if (RNA_property_flag(prop) & PROP_OUTPUT) {
param = PyObject_IsTrue(value);
- else
+ }
+ else {
param = PyLong_AsLong(value);
- if (param < 0) {
+ if (UNLIKELY(param & ~1)) { /* only
accept 0/1 */
+ param = -1; /*
error out below */
+ }
+ }
+
+ if (param == -1) {
PyErr_Format(PyExc_TypeError,
"%.200s %.200s.%.200s
expected True/False or 0/1, not %.200s",
error_prefix,
RNA_struct_identifier(ptr->type),
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs