diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-25 00:34:29 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-25 00:34:29 +0100 |
| commit | 371e23c22dcec461ee3fbc8c989859cd08717b3d (patch) | |
| tree | 1b0a2c4c343be884ee6aea064574b577859b1150 /lib/dvb | |
| parent | afc5eb78a27a7c41fffd81eadf7ac650cb6f2043 (diff) | |
| download | enigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.tar.gz enigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.zip | |
fix some refcounting bugs
Diffstat (limited to 'lib/dvb')
| -rw-r--r-- | lib/dvb/dvb.cpp | 6 | ||||
| -rw-r--r-- | lib/dvb/epgcache.cpp | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 7e9a39c6..eac4554d 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -1502,7 +1502,7 @@ RESULT eDVBChannel::setCIRouting(const eDVBCIRouting &routing) void eDVBChannel::SDTready(int result) { - ePyObject args = PyTuple_New(2); + ePyObject args = PyTuple_New(2), ret; bool ok=false; if (!result) { @@ -1521,7 +1521,9 @@ void eDVBChannel::SDTready(int result) Py_INCREF(Py_None); Py_INCREF(Py_None); } - PyObject_CallObject(m_tsid_onid_callback, args); + ret = PyObject_CallObject(m_tsid_onid_callback, args); + if (ret) + Py_DECREF(ret); Py_DECREF(args); Py_DECREF(m_tsid_onid_callback); m_tsid_onid_callback = ePyObject(); diff --git a/lib/dvb/epgcache.cpp b/lib/dvb/epgcache.cpp index 0bb6e25b..222cba32 100644 --- a/lib/dvb/epgcache.cpp +++ b/lib/dvb/epgcache.cpp @@ -1672,7 +1672,7 @@ int handleEvent(eServiceEvent *ptr, ePyObject dest_list, const char* argstring, { fillTuple(convertFuncArgs, argstring, argcount, service, ptr, nowTime, service_name); ePyObject result = PyObject_CallObject(convertFunc, convertFuncArgs); - if (result) + if (!result) { if (service_name) Py_DECREF(service_name); |
