diff options
| author | Julian Andres Klode <jak@debian.org> | 2010-01-23 15:36:36 +0100 |
|---|---|---|
| committer | Julian Andres Klode <jak@debian.org> | 2010-01-23 15:36:36 +0100 |
| commit | 511ca4dd916413a5f6a0ae140cfc678695bb006f (patch) | |
| tree | 1056a8197cf08192de2b9a66991e5242b5675d78 /python/progress.cc | |
| parent | 35e4bc6a39f3862e597484736ec82c040b992f4b (diff) | |
| download | python-apt-511ca4dd916413a5f6a0ae140cfc678695bb006f.tar.gz | |
Fix reference counting for old progress classes (Closes: #566370).
Diffstat (limited to 'python/progress.cc')
| -rw-r--r-- | python/progress.cc | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/python/progress.cc b/python/progress.cc index 22ce39a4..63d9eede 100644 --- a/python/progress.cc +++ b/python/progress.cc @@ -124,8 +124,11 @@ bool PyFetchProgress::MediaChange(string Media, string Drive) //std::cout << "MediaChange" << std::endl; PyObject *arglist = Py_BuildValue("(ss)", Media.c_str(), Drive.c_str()); PyObject *result; - if(! RunSimpleCallback("media_change", arglist, &result)) - RunSimpleCallback("mediaChange", arglist, &result); + + if(PyObject_HasAttrString(callbackInst, "media_change")) + RunSimpleCallback("media_change", arglist, &result); + else + RunSimpleCallback("mediaChange", arglist, &result); bool res = true; if(!PyArg_Parse(result, "b", &res)) { @@ -157,8 +160,10 @@ void PyFetchProgress::UpdateStatus(pkgAcquire::ItemDesc &Itm, int status) arglist = Py_BuildValue("(sssi)", Itm.URI.c_str(), Itm.Description.c_str(), Itm.ShortDesc.c_str(), status); - if(!RunSimpleCallback("update_status", arglist)) - RunSimpleCallback("updateStatus", arglist); + if(PyObject_HasAttrString(callbackInst, "update_status")) + RunSimpleCallback("update_status", arglist); + else + RunSimpleCallback("updateStatus", arglist); } void PyFetchProgress::IMSHit(pkgAcquire::ItemDesc &Itm) @@ -536,8 +541,10 @@ bool PyCdromProgress::ChangeCdrom() { PyObject *arglist = Py_BuildValue("()"); PyObject *result; - if(!RunSimpleCallback("change_cdrom", arglist, &result)) - RunSimpleCallback("changeCdrom", arglist, &result); + if (PyObject_HasAttrString(callbackInst, "change_cdrom")) + RunSimpleCallback("change_cdrom", arglist, &result); + else + RunSimpleCallback("changeCdrom", arglist, &result); bool res = true; if(!PyArg_Parse(result, "b", &res)) @@ -555,7 +562,8 @@ bool PyCdromProgress::AskCdromName(string &Name) PyObject *result; // New style: String on success, None on failure. - if (RunSimpleCallback("ask_cdrom_name", arglist, &result)) { + if (PyObject_HasAttrString(callbackInst, "ask_cdrom_name")) { + RunSimpleCallback("ask_cdrom_name", arglist, &result); if(result == Py_None) return false; if(!PyArg_Parse(result, "s", &new_name)) |
