summaryrefslogtreecommitdiff
path: root/python/progress.h
diff options
context:
space:
mode:
Diffstat (limited to 'python/progress.h')
-rw-r--r--python/progress.h5
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