static int
eTimerPy_traverse(eTimerPy *self, visitproc visit, void *arg)
{
- PyObject *obj = self->tm->timeout.get();
- Py_VISIT(obj);
+ PyObject *obj = self->tm->timeout.get(true);
+ if (obj) {
+ Py_VISIT(obj);
+ }
return 0;
}
static int
eTimerPy_clear(eTimerPy *self)
{
- PyObject *obj = self->tm->timeout.get();
- Py_CLEAR(obj);
+ PyObject *obj = self->tm->timeout.get(true);
+ if (obj)
+ Py_CLEAR(obj);
return 0;
}
static PyObject *
eTimerPy_start_long(eTimerPy* self, PyObject *args)
{
- long v=0;
- if (!PyArg_ParseTuple(args, "l", &v)) {
+ int v=0;
+ if (!PyArg_ParseTuple(args, "i", &v)) {
return NULL;
}
self->tm->startLongTimer(v);
static int
eSocketNotifierPy_traverse(eSocketNotifierPy *self, visitproc visit, void *arg)
{
- PyObject *obj = self->sn->activated.get();
- Py_VISIT(obj);
+ PyObject *obj = self->sn->activated.get(true);
+ if (obj)
+ Py_VISIT(obj);
return 0;
}
static int
eSocketNotifierPy_clear(eSocketNotifierPy *self)
{
- PyObject *obj = self->sn->activated.get();
- Py_CLEAR(obj);
+ PyObject *obj = self->sn->activated.get(true);
+ if (obj)
+ Py_CLEAR(obj);
return 0;
}
void eBaseInit(void)
{
- PyObject* m;
-
- m = Py_InitModule3("eBaseImpl", module_methods,
+ PyObject* m = Py_InitModule3("eBaseImpl", module_methods,
"Module that implements some enigma classes with working cyclic garbage collection.");
if (m == NULL)