aboutsummaryrefslogtreecommitdiff
path: root/lib/gui/elistboxcontent.cpp
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-06-04 14:50:01 +0200
committerghost <andreas.monzner@multimedia-labs.de>2010-06-04 14:50:01 +0200
commit18e9562c55f0ee01ccc74d48018fd6b67f20f19c (patch)
tree3a9888ede9c28583dd2a5b5ed39bd509c3b14244 /lib/gui/elistboxcontent.cpp
parent1c8a3aefeb8063526084bc7a24913d2c1f17d1e6 (diff)
downloadenigma2-18e9562c55f0ee01ccc74d48018fd6b67f20f19c.tar.gz
enigma2-18e9562c55f0ee01ccc74d48018fd6b67f20f19c.zip
lib/gui/elistboxcontent.cpp: dont crash on non selectable entries
Diffstat (limited to 'lib/gui/elistboxcontent.cpp')
-rw-r--r--lib/gui/elistboxcontent.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp
index 7bb84c3d..43fbc594 100644
--- a/lib/gui/elistboxcontent.cpp
+++ b/lib/gui/elistboxcontent.cpp
@@ -343,7 +343,6 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style,
if (PyTuple_Check(item))
{
/* handle left part. get item from tuple, convert to string, display. */
-
text = PyTuple_GET_ITEM(item, 0);
text = PyObject_Str(text); /* creates a new object - old object was borrowed! */
const char *string = (text && PyString_Check(text)) ? PyString_AsString(text) : "<not-a-string>";
@@ -357,7 +356,9 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style,
int value_alignment_left = !*string;
/* now, handle the value. get 2nd part from tuple*/
- value = PyTuple_GET_ITEM(item, 1);
+ if (PyTuple_Size(item) >= 2) // when no 2nd entry is in tuple this is a non selectable entry without config part
+ value = PyTuple_GET_ITEM(item, 1);
+
if (value)
{
ePyObject args = PyTuple_New(1);
@@ -468,7 +469,7 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style,
}
}
/* type is borrowed */
- } else
+ } else if (value)
eWarning("eListboxPythonConfigContent: second value of tuple is not a tuple.");
if (value)
Py_DECREF(value);