Fix crash for 4097 service.
authorhschang <chang@dev3>
Mon, 27 Aug 2018 06:53:01 +0000 (15:53 +0900)
committerhschang <chang@dev3>
Mon, 27 Aug 2018 06:53:01 +0000 (15:53 +0900)
lib/python/Screens/EpgSelection.py
lib/python/Screens/EventView.py
lib/python/Screens/TimerEntry.py

index f8edba1..94b16a4 100644 (file)
@@ -226,7 +226,7 @@ class EPGSelection(Screen):
                cur = self["list"].getCurrent()
                event = cur[0]
                serviceref = cur[1]
                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()
                        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
 
                                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
 
                        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
                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 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
                if isRecordEvent and self.key_green_choice != self.REMOVE_TIMER:
                        self["key_green"].setText(_("Remove timer"))
                        self.key_green_choice = self.REMOVE_TIMER
index cced3ce..4a39678 100644 (file)
@@ -113,7 +113,7 @@ class EventViewBase:
 
        def setService(self, service):
                self.currentService=service
 
        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()
                        self["channel"].setText(_("Recording"))
                else:
                        name = self.currentService.getServiceName()
index 1d40547..3308b81 100644 (file)
@@ -138,6 +138,8 @@ class TimerEntry(Screen, ConfigListScreen):
                                servicename = str(self.timer.service_ref.getServiceName())
                        except:
                                pass
                                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])
 
                        self.timerentry_service_ref = self.timer.service_ref
                        self.timerentry_service = ConfigSelection([servicename])