From 83b8f1c6f9357e41c34020251038b0cdeab76cb7 Mon Sep 17 00:00:00 2001 From: hschang Date: Mon, 27 Aug 2018 15:53:01 +0900 Subject: [PATCH] Fix crash for 4097 service. --- lib/python/Screens/EpgSelection.py | 7 ++++--- lib/python/Screens/EventView.py | 2 +- lib/python/Screens/TimerEntry.py | 2 ++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py index f8edba1..94b16a4 100644 --- a/lib/python/Screens/EpgSelection.py +++ b/lib/python/Screens/EpgSelection.py @@ -226,7 +226,7 @@ class EPGSelection(Screen): cur = self["list"].getCurrent() event = cur[0] serviceref = cur[1] - if event is None: + if event is None or serviceref.getType() != eServiceReference.idDVB: return eventid = event.getEventId() refstr = serviceref.ref.toString() @@ -352,13 +352,13 @@ class EPGSelection(Screen): self["key_red"].setText("Zap") self.key_red_choice = self.ZAP - if event is None: + serviceref = cur[1] + if event is None or serviceref.getType() != eServiceReference.idDVB: if self.key_green_choice != self.EMPTY: self["key_green"].setText("") self.key_green_choice = self.EMPTY return - serviceref = cur[1] eventid = event.getEventId() refstr = serviceref.ref.toString() isRecordEvent = False @@ -366,6 +366,7 @@ class EPGSelection(Screen): if timer.eit == eventid and timer.service_ref.ref.toString() == refstr: isRecordEvent = True break + if isRecordEvent and self.key_green_choice != self.REMOVE_TIMER: self["key_green"].setText(_("Remove timer")) self.key_green_choice = self.REMOVE_TIMER diff --git a/lib/python/Screens/EventView.py b/lib/python/Screens/EventView.py index cced3ce..4a39678 100644 --- a/lib/python/Screens/EventView.py +++ b/lib/python/Screens/EventView.py @@ -113,7 +113,7 @@ class EventViewBase: def setService(self, service): self.currentService=service - if self.isRecording: + if self.isRecording and (self.currentService.ref.type == eServiceReference.idDVB): self["channel"].setText(_("Recording")) else: name = self.currentService.getServiceName() diff --git a/lib/python/Screens/TimerEntry.py b/lib/python/Screens/TimerEntry.py index 1d40547..3308b81 100644 --- a/lib/python/Screens/TimerEntry.py +++ b/lib/python/Screens/TimerEntry.py @@ -138,6 +138,8 @@ class TimerEntry(Screen, ConfigListScreen): servicename = str(self.timer.service_ref.getServiceName()) except: pass + if not servicename: + servicename = "N/A" self.timerentry_service_ref = self.timer.service_ref self.timerentry_service = ConfigSelection([servicename]) -- 2.7.4