void eDVBChannel::SDTready(int result)
{
- ePyObject args = PyTuple_New(2);
+ ePyObject args = PyTuple_New(2), ret;
bool ok=false;
if (!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();
{
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);
/* type is borrowed */
} else
eWarning("eListboxPythonConfigContent: second value of tuple is not a tuple.");
- /* value is borrowed */
+ if (value)
+ Py_DECREF(value);
}
if (selected && (!local_style || !local_style->m_selection))
painter.clip(itemregion);
clearRegion(painter, style, local_style, ePyObject(), ePyObject(), ePyObject(), ePyObject(), selected, itemregion, sel_clip);
- ePyObject items;
+ ePyObject items, buildfunc_ret;
if (m_list && cursorValid())
{
if (PyCallable_Check(m_buildFunc)) // when we have a buildFunc then call it
{
if (PyTuple_Check(items))
- items = PyObject_CallObject(m_buildFunc, items);
+ buildfunc_ret = items = PyObject_CallObject(m_buildFunc, items);
else
eDebug("items is no tuple");
}
style.drawFrame(painter, eRect(offset, m_itemsize), eWindowStyle::frameListboxEntry);
error_out:
- if (m_buildFunc && PyCallable_Check(m_buildFunc) && items)
- Py_DECREF(items);
+ if (buildfunc_ret)
+ Py_DECREF(buildfunc_ret);
painter.clippop();
}
{
ePyObject ret = PyObject_CallObject(m_selectableFunc, args);
if (ret)
- return ret == Py_True;
+ {
+ bool retval = ret == Py_True;
+ Py_DECREF(ret);
+ return ret;
+ }
eDebug("call m_selectableFunc failed!!! assume not callable");
}
else