add list not empty check
[vuplus_dvbapp] / lib / python / Screens / InfoBarGenerics.py
index d621d12..c3c6e21 100644 (file)
@@ -448,7 +448,8 @@ class InfoBarEPG:
                if self.is_now_next and len(self.dlg_stack) == 1:
                        self.getNowNext()
                        assert self.eventView
-                       self.eventView.setEvent(self.epglist[0])
+                       if len(self.epglist):
+                               self.eventView.setEvent(self.epglist[0])
 
        def openEventView(self):
                ref = self.session.nav.getCurrentlyPlayingServiceReference()
@@ -1241,14 +1242,13 @@ class InfoBarSubserviceSelection:
                        }, -1)
                self["SubserviceQuickzapAction"].setEnabled(False)
 
-               self.session.nav.event.append(self.checkParentAvail) # we like to get service events
+               self.session.nav.event.append(self.checkSubservicesAvail) # we like to get service events
 
-       def checkParentAvail(self, ev):
-               ref=self.session.nav.getCurrentlyPlayingServiceReference()
+       def checkSubservicesAvail(self, ev):
                if ev == iPlayableService.evUpdatedEventInfo:
-                       if ref.getData(5):
-                               self["SubserviceQuickzapAction"].setEnabled(True)
-                       else:
+                       service = self.session.nav.getCurrentService()
+                       subservices = service.subServices()
+                       if subservices.getNumberOfSubservices() == 0:
                                self["SubserviceQuickzapAction"].setEnabled(False)
 
        def nextSubservice(self):
@@ -1275,6 +1275,8 @@ class InfoBarSubserviceSelection:
                                        selection=n-1
                                newservice = subservices.getSubservice(selection)
                                if newservice.valid():
+                                       del subservices
+                                       del service
                                        self.session.nav.playService(newservice)
 
        def subserviceSelection(self):
@@ -1296,6 +1298,7 @@ class InfoBarSubserviceSelection:
 
        def subserviceSelected(self, service):
                if not service is None:
+                       self["SubserviceQuickzapAction"].setEnabled(True)
                        self.session.nav.playService(service[1])
 
 class InfoBarAdditionalInfo: