aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
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
parentafc5eb78a27a7c41fffd81eadf7ac650cb6f2043 (diff)
downloadenigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.tar.gz
enigma2-371e23c22dcec461ee3fbc8c989859cd08717b3d.zip
fix some refcounting bugs
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/dvb.cpp6
-rw-r--r--lib/dvb/epgcache.cpp2
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);