diff --git a/dtool/src/interrogate/interfaceMakerPythonNative.cxx b/dtool/src/interrogate/interfaceMakerPythonNative.cxx index 2686bb1ce6..a1fec26630 100644 --- a/dtool/src/interrogate/interfaceMakerPythonNative.cxx +++ b/dtool/src/interrogate/interfaceMakerPythonNative.cxx @@ -2730,9 +2730,10 @@ write_module_class(ostream &out, Object *obj) { } string gcflag; - if (obj->_protocol_types & Object::PT_python_gc) { + // Disabled for now because it's too unstable. + /*if (obj->_protocol_types & Object::PT_python_gc) { gcflag = " | Py_TPFLAGS_HAVE_GC"; - } + }*/ // long tp_flags; if (has_local_getbuffer) { diff --git a/panda/src/event/pythonTask.cxx b/panda/src/event/pythonTask.cxx index 3556395c65..88070bdb28 100644 --- a/panda/src/event/pythonTask.cxx +++ b/panda/src/event/pythonTask.cxx @@ -68,9 +68,9 @@ PythonTask(PyObject *function, const string &name) : //////////////////////////////////////////////////////////////////// PythonTask:: ~PythonTask() { - Py_XDECREF(_function); - Py_XDECREF(_args); - Py_XDECREF(__dict__); + Py_DECREF(_function); + Py_DECREF(_args); + Py_DECREF(__dict__); Py_XDECREF(_generator); Py_XDECREF(_owner); Py_XDECREF(_upon_death); @@ -359,12 +359,14 @@ __getattr__(PyObject *attr) const { //////////////////////////////////////////////////////////////////// int PythonTask:: __traverse__(visitproc visit, void *arg) { +/* Py_VISIT(_function); Py_VISIT(_args); Py_VISIT(_upon_death); Py_VISIT(_owner); Py_VISIT(__dict__); Py_VISIT(_generator); +*/ return 0; } @@ -375,12 +377,14 @@ __traverse__(visitproc visit, void *arg) { //////////////////////////////////////////////////////////////////// int PythonTask:: __clear__() { +/* Py_CLEAR(_function); Py_CLEAR(_args); Py_CLEAR(_upon_death); Py_CLEAR(_owner); Py_CLEAR(__dict__); Py_CLEAR(_generator); +*/ return 0; }