From e0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 25 Mar 2009 22:31:35 +0100 Subject: [PATCH 1/1] InfoBarGenerics.py: fix crash when press yellow in info screen on subservices --- lib/python/Screens/InfoBarGenerics.py | 14 ++++++++++---- 1 file 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) -- 2.30.2