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

Reply via email to