- 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;
+ }
wxDateTime* date = new wxDateTime;
wxDateTime::WeekDay wd;
wxCalendarHitTestResult result = self->HitTest(pos, date, &wd);
wxDateTime* date = new wxDateTime;
wxDateTime::WeekDay wd;
wxCalendarHitTestResult result = self->HitTest(pos, date, &wd);
PyObject* tup = PyTuple_New(3);
PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(result));
PyTuple_SET_ITEM(tup, 1, wxPyConstructObject(date, wxT("wxDateTime"), 1));
PyTuple_SET_ITEM(tup, 2, PyInt_FromLong(wd));
PyObject* tup = PyTuple_New(3);
PyTuple_SET_ITEM(tup, 0, PyInt_FromLong(result));
PyTuple_SET_ITEM(tup, 1, wxPyConstructObject(date, wxT("wxDateTime"), 1));
PyTuple_SET_ITEM(tup, 2, PyInt_FromLong(wd));