From 7bf6a8d52ca8e6c7686eeac50ae714dc6a7e4730 Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Sun, 24 Jan 2010 18:32:05 +0100 Subject: python/progress.h: PyFetchProgress keeps a reference to pyAcquire. --- python/progress.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'python/progress.h') 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 -- cgit v1.2.3