From ec5be08b08e4163539937341316230241f6d2eda Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Tue, 22 Aug 2006 10:56:45 +0000 Subject: [PATCH] fix bluescreen appearing when ChoiceBox is empty --- lib/python/Screens/ChoiceBox.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/python/Screens/ChoiceBox.py b/lib/python/Screens/ChoiceBox.py index 9711da2..6f23fdc 100644 --- a/lib/python/Screens/ChoiceBox.py +++ b/lib/python/Screens/ChoiceBox.py @@ -59,16 +59,18 @@ class ChoiceBox(Screen): pass def up(self): - while 1: - self["list"].instance.moveSelection(self["list"].instance.moveUp) - if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == 0: - break + if len(self["list"].list) > 0: + while 1: + self["list"].instance.moveSelection(self["list"].instance.moveUp) + if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == 0: + break def down(self): - while 1: - self["list"].instance.moveSelection(self["list"].instance.moveDown) - if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == len(self["list"].list) - 1: - break + if len(self["list"].list) > 0: + while 1: + self["list"].instance.moveSelection(self["list"].instance.moveDown) + if self["list"].l.getCurrentSelection()[0][0] != "--" or self["list"].l.getCurrentSelectionIndex() == len(self["list"].list) - 1: + break def keyNumberGlobal(self, number): @@ -77,8 +79,10 @@ class ChoiceBox(Screen): self.close(self.keymap[str(number)]) def go(self): - self.close(self["list"].l.getCurrentSelection()[0]) - #self.close(self["input"].getText()) + if len(self["list"].list) > 0: + self.close(self["list"].l.getCurrentSelection()[0]) + else: + self.close(None) def keyRed(self): if self.keymap.has_key("red"): -- 2.7.4