aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/dvb.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2008-11-25 00:34:29 +0100
committerghost <andreas.monzner@multimedia-labs.de>2008-11-25 00:34:29 +0100
commit371e23c22dcec461ee3fbc8c989859cd08717b3d (patch)
tree1b0a2c4c343be884ee6aea064574b577859b1150 /lib/dvb/dvb.cpp
parentafc5eb78a27a7c41fffd81eadf7ac650cb6f2043 (diff)
downloadenigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.tar.gz
enigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.zip
fix some refcounting bugs
Diffstat (limited to 'lib/dvb/dvb.cpp')
-rw-r--r--lib/dvb/dvb.cpp6
1 files changed, 4 insertions, 2 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();