diff options
| author | ghost <andreas.monzner@multimedia-labs.de> | 2009-03-25 22:31:35 +0100 |
|---|---|---|
| committer | ghost <andreas.monzner@multimedia-labs.de> | 2009-03-25 22:31:35 +0100 |
| commit | e0f1f56d4acc89b75a67ece4109bb17cc0d1e6d9 (patch) | |
| tree | 38e9bf7c90f93d5b36260e8e25c9d9b66c4dc3be /lib/python/Screens/InfoBarGenerics.py | |
| parent | ef7f22f113db004b3b86f3bcce5b1f8fac34b975 (diff) | |
| download | enigma2-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.py | 14 |
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) |
