aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/InfoBarGenerics.py
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2009-03-25 22:31:35 +0100
committerghost <andreas.monzner@multimedia-labs.de>2009-03-25 22:31:35 +0100
commite0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9 (patch)
tree38e9bf7c90f93d5b36260e8e25c9d9b66c4dc3be /lib/python/Screens/InfoBarGenerics.py
parentef7f22f113db004b3b86f3bcce5b1f8fac34b975 (diff)
downloadenigma2-e0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9.tar.gz
enigma2-e0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9.zip
InfoBarGenerics.py: fix crash when press yellow in info screen on subservices
Diffstat (limited to 'lib/python/Screens/InfoBarGenerics.py')
-rw-r--r--lib/python/Screens/InfoBarGenerics.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 9b5f62c6..8221fca7 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -400,10 +400,14 @@ class SimpleServicelist:
def selectService(self, service):
if not self.length:
self.current = -1
+ return False
else:
self.current = 0
while self.services[self.current].ref != service:
self.current += 1
+ if self.current >= self.length:
+ return False
+ return True
def nextService(self):
if not self.length:
@@ -422,7 +426,7 @@ class SimpleServicelist:
self.current = self.length - 1
def currentService(self):
- if not self.length:
+ if not self.length or self.current >= self.length:
return None
return self.services[self.current]
@@ -540,8 +544,10 @@ class InfoBarEPG:
current_path = self.servicelist.getRoot()
services = self.getBouquetServices(current_path)
self.serviceSel = SimpleServicelist(services)
- self.serviceSel.selectService(ref)
- self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB)
+ if self.serviceSel.selectService(ref):
+ self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref, serviceChangeCB = self.changeServiceCB)
+ else:
+ self.session.openWithCallback(self.SingleServiceEPGClosed, EPGSelection, ref)
else:
self.session.open(EPGSelection, ref)
@@ -553,7 +559,7 @@ class InfoBarEPG:
self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = list, skin_name = "EPGExtensionsList")
else:
self.openSingleServiceEPG()
-
+
def runPlugin(self, plugin):
plugin(session = self.session, servicelist = self.servicelist)