diff options
Diffstat (limited to 'python/progress.h')
| -rw-r--r-- | python/progress.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/python/progress.h b/python/progress.h index 80cb2785..7e75652b 100644 --- a/python/progress.h +++ b/python/progress.h @@ -74,6 +74,8 @@ struct PyFetchProgress : public pkgAcquireStatus, public PyCallbackObj virtual bool MediaChange(string Media, string Drive); void setPyAcquire(PyObject *o) { + Py_CLEAR(pyAcquire); + Py_INCREF(o); pyAcquire = o; } @@ -86,7 +88,8 @@ struct PyFetchProgress : public pkgAcquireStatus, public PyCallbackObj virtual void Stop(); bool Pulse(pkgAcquire * Owner); - PyFetchProgress() : PyCallbackObj() {}; + PyFetchProgress() : PyCallbackObj(), pyAcquire(0) {}; + ~PyFetchProgress() { Py_XDECREF(pyAcquire); }; }; struct PyInstallProgress : public PyCallbackObj |
