Merge remote branch 'remotes/origin/acid-burn/bug_622_swupgrade_networkcheck'
[vuplus_dvbapp] / lib / gui / elistboxcontent.cpp
index 43fbc59..a19e11a 100644 (file)
@@ -501,6 +501,7 @@ eListboxPythonMultiContent::~eListboxPythonMultiContent()
 {
        Py_XDECREF(m_buildFunc);
        Py_XDECREF(m_selectableFunc);
+       Py_XDECREF(m_template);
 }
 
 void eListboxPythonMultiContent::setSelectionClip(eRect &rect, bool update)
@@ -967,6 +968,9 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c
                                if (ppixmap)
                                {
                                        ePtr<gPixmap> pixmap;
+                                       if (PyInt_Check(ppixmap) && data) /* if the pixmap is in fact a number, it refers to the data list */
+                                               ppixmap = PyTuple_GetItem(data, PyInt_AsLong(ppixmap));
+
                                        if (SwigFromPython(pixmap, ppixmap))
                                        {
                                                eDebug("eListboxPythonMultiContent (Pixmap) get pixmap failed");
@@ -1155,5 +1159,7 @@ void eListboxPythonMultiContent::entryRemoved(int idx)
 
 void eListboxPythonMultiContent::setTemplate(ePyObject tmplate)
 {
+       Py_XDECREF(m_template);
        m_template = tmplate;
+       Py_XINCREF(m_template);
 }