bge py api: raise an overflow exception when assigning a float to a bge object which is out of the float range.
also avoid raising exceptions by ConvertPythonToValue when they will be ignored.
This commit is contained in:
@@ -425,7 +425,7 @@ static PyObject *listvalue_buffer_concat(PyObject *self, PyObject *other)
|
||||
|
||||
for (i=0;i<numitems;i++)
|
||||
{
|
||||
listitemval = listval->ConvertPythonToValue(PyList_GetItem(other,i), "cList + pyList: CListValue, ");
|
||||
listitemval = listval->ConvertPythonToValue(PyList_GetItem(other,i), true, "cList + pyList: CListValue, ");
|
||||
|
||||
if (listitemval) {
|
||||
listval_new->SetValue(i+numitems_orig, listitemval);
|
||||
@@ -570,7 +570,7 @@ PyAttributeDef CListValue::Attributes[] = {
|
||||
|
||||
PyObject *CListValue::Pyappend(PyObject *value)
|
||||
{
|
||||
CValue* objval = ConvertPythonToValue(value, "CList.append(i): CValueList, ");
|
||||
CValue *objval = ConvertPythonToValue(value, true, "CList.append(i): CValueList, ");
|
||||
|
||||
if (!objval) /* ConvertPythonToValue sets the error */
|
||||
return NULL;
|
||||
@@ -595,7 +595,7 @@ PyObject *CListValue::Pyindex(PyObject *value)
|
||||
{
|
||||
PyObject *result = NULL;
|
||||
|
||||
CValue* checkobj = ConvertPythonToValue(value, "val = cList[i]: CValueList, ");
|
||||
CValue *checkobj = ConvertPythonToValue(value, true, "val = cList[i]: CValueList, ");
|
||||
if (checkobj==NULL)
|
||||
return NULL; /* ConvertPythonToValue sets the error */
|
||||
|
||||
@@ -624,7 +624,7 @@ PyObject *CListValue::Pycount(PyObject *value)
|
||||
{
|
||||
int numfound = 0;
|
||||
|
||||
CValue* checkobj = ConvertPythonToValue(value, ""); /* error ignored */
|
||||
CValue *checkobj = ConvertPythonToValue(value, false, ""); /* error ignored */
|
||||
|
||||
if (checkobj==NULL) { /* in this case just return that there are no items in the list */
|
||||
PyErr_Clear();
|
||||
|
||||
Reference in New Issue
Block a user