[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32906] trunk/blender/source/blender/ python/intern/bpy_operator.c: better exception check for calling operators.
Campbell Barton
ideasman42 at gmail.com
Sun Nov 7 05:46:50 CET 2010
Revision: 32906
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32906
Author: campbellbarton
Date: 2010-11-07 05:46:50 +0100 (Sun, 07 Nov 2010)
Log Message:
-----------
better exception check for calling operators. non dict/None values were being treated as None.
Modified Paths:
--------------
trunk/blender/source/blender/python/intern/bpy_operator.c
Modified: trunk/blender/source/blender/python/intern/bpy_operator.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_operator.c 2010-11-07 04:34:27 UTC (rev 32905)
+++ trunk/blender/source/blender/python/intern/bpy_operator.c 2010-11-07 04:46:50 UTC (rev 32906)
@@ -73,8 +73,13 @@
}
}
- if(!PyDict_Check(context_dict))
+ if(context_dict==NULL || context_dict==Py_None) {
context_dict= NULL;
+ }
+ else if (!PyDict_Check(context_dict)) {
+ PyErr_Format(PyExc_TypeError, "Calling operator \"bpy.ops.%s.poll\" error, custom context expected a dict or None, got a %.200s", opname, Py_TYPE(context_dict)->tp_name);
+ return NULL;
+ }
context_dict_back= CTX_py_dict_get(C);
@@ -130,8 +135,13 @@
}
}
- if(!PyDict_Check(context_dict))
+ if(context_dict==NULL || context_dict==Py_None) {
context_dict= NULL;
+ }
+ else if (!PyDict_Check(context_dict)) {
+ PyErr_Format(PyExc_TypeError, "Calling operator \"bpy.ops.%s\" error, custom context expected a dict or None, got a %.200s", opname, Py_TYPE(context_dict)->tp_name);
+ return NULL;
+ }
context_dict_back= CTX_py_dict_get(C);
More information about the Bf-blender-cvs
mailing list