X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a2482628795b7de454ef093cb24910c98ad51f1d..49bffb1482cd2a6a30b38280f6c9bffc72dbfe42:/wxPython/src/msw/grid_wrap.cpp diff --git a/wxPython/src/msw/grid_wrap.cpp b/wxPython/src/msw/grid_wrap.cpp index d2c0dc7ad5..d76412fb92 100644 --- a/wxPython/src/msw/grid_wrap.cpp +++ b/wxPython/src/msw/grid_wrap.cpp @@ -814,7 +814,15 @@ SWIG_CheckLongInRange(long value, const char* type, SWIGSTATICINLINE(long) SWIG_AsLong(PyObject * obj) { - return PyInt_Check(obj) ? PyInt_AsLong(obj) : PyLong_AsLong(obj); + if (PyNumber_Check(obj)) + return PyInt_AsLong(obj); + else { + PyObject* errmsg = PyString_FromFormat("Expected number, got %s", + obj->ob_type->tp_name); + PyErr_SetObject(PyExc_TypeError, errmsg); + Py_DECREF(errmsg); + return 0; + } } @@ -1127,9 +1135,9 @@ SWIG_AsUnsignedLong(PyObject * obj) if (PyLong_Check(obj)) { return PyLong_AsUnsignedLong(obj); } else { - long i = PyInt_AsLong(obj); + long i = SWIG_AsLong(obj); if ( !PyErr_Occurred() && (i < 0)) { - PyErr_SetString(PyExc_TypeError, "negative value for unsigned type"); + PyErr_SetString(PyExc_TypeError, "negative value received for unsigned type"); } return i; } @@ -1182,17 +1190,15 @@ SWIG_CheckLong(PyObject* obj) SWIGSTATICINLINE(double) SWIG_AsDouble(PyObject *obj) { - double val = (PyFloat_Check(obj)) ? PyFloat_AsDouble(obj) : -#if HAVE_LONG_LONG - ((PyInt_Check(obj)) ? PyInt_AsLong(obj) : PyLong_AsLongLong(obj)); -#else - ((PyInt_Check(obj)) ? PyInt_AsLong(obj) : PyLong_AsLong(obj)); -#endif - if (PyErr_Occurred()) { - PyErr_Clear(); - PyErr_SetString(PyExc_TypeError, "a double is expected"); - } - return val; + if (PyNumber_Check(obj)) + return PyFloat_AsDouble(obj); + else { + PyObject* errmsg = PyString_FromFormat("Expected number, got %s", + obj->ob_type->tp_name); + PyErr_SetObject(PyExc_TypeError, errmsg); + Py_DECREF(errmsg); + return 0; + } } @@ -3410,15 +3416,27 @@ static PyObject * GridCellNumberEditor_swigregister(PyObject *self, PyObject *ar } static PyObject *_wrap_new_GridCellFloatEditor(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject *resultobj; + int arg1 = (int) -1 ; + int arg2 = (int) -1 ; wxGridCellFloatEditor *result; + PyObject * obj0 = 0 ; + PyObject * obj1 = 0 ; char *kwnames[] = { - NULL + (char *) "width",(char *) "precision", NULL }; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)":new_GridCellFloatEditor",kwnames)) goto fail; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,(char *)"|OO:new_GridCellFloatEditor",kwnames,&obj0,&obj1)) goto fail; + if (obj0) { + arg1 = (int) SWIG_AsInt(obj0); + if (PyErr_Occurred()) SWIG_fail; + } + if (obj1) { + arg2 = (int) SWIG_AsInt(obj1); + if (PyErr_Occurred()) SWIG_fail; + } { PyThreadState* __tstate = wxPyBeginAllowThreads(); - result = (wxGridCellFloatEditor *)new wxGridCellFloatEditor(); + result = (wxGridCellFloatEditor *)new wxGridCellFloatEditor(arg1,arg2); wxPyEndAllowThreads(__tstate); if (PyErr_Occurred()) SWIG_fail; @@ -8776,6 +8794,7 @@ static PyObject *_wrap_Grid_GetTextBoxSize(PyObject *self, PyObject *args, PyObj #else PyObject* str = PyObject_Str(item); #endif + if (PyErr_Occurred()) SWIG_fail; arg3->Add(Py2wxString(str)); Py_DECREF(item); Py_DECREF(str);