poll_timeout /= 1000;
}
- if ((user_timeout > 0) && (poll_timeout > user_timeout))
+ if ((user_timeout > 0) && (poll_timeout > 0) && ((unsigned int)poll_timeout > user_timeout))
{
poll_timeout = user_timeout;
return_reason = 1;
PyObject *eMainloop::poll(PyObject *timeout, PyObject *dict)
{
PyObject *res = 0;
+
+ if (app_quit_now)
+ {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+
int user_timeout = (timeout == Py_None) ? 0 : PyInt_AsLong(timeout);
iterate(user_timeout, &res, dict);