fix bluescreen when pressing exit in alternative selection
[vuplus_dvbapp] / lib / python / Plugins / Extensions / ZappingAlternatives / plugin.py
index 3ab3907..d3cfce2 100644 (file)
@@ -173,10 +173,11 @@ class AlternativeZapping(Screen):
                self.updateServices()
                self.updateAlternatives()
        
-       def finishedAlternativeSelection(self, args):
-               self.alternatives[self["serviceslist"].getCurrent()[1]].append(str(ServiceReference(args)))
-               addAlternative(self["serviceslist"].getCurrent()[1], str(ServiceReference(args)))
-               self.updateAlternatives()
+       def finishedAlternativeSelection(self, *args):
+               if len(args):
+                       self.alternatives[self["serviceslist"].getCurrent()[1]].append(str(ServiceReference(args)))
+                       addAlternative(self["serviceslist"].getCurrent()[1], str(ServiceReference(args)))
+                       self.updateAlternatives()
        
        def updateServices(self):
                self.serviceslist = []
@@ -218,7 +219,7 @@ class AlternativeZapping(Screen):
 
        def finishedChannelSelection(self, *args):
                if len(args):
-                       serviceString = str(ServiceReference(args))
+                       serviceString = str(ServiceReference(args[0]))
                        if not self.alternatives.has_key(serviceString):
                                self.alternatives[serviceString] = []
                        self.updateServices()
@@ -277,13 +278,12 @@ class ServiceChanged(PerServiceDisplay):
 
 servicechanged = None
 
-def playService(self, ref):
+def playService(self, ref, **kwargs):
        #print "--------------------Alternatives: trying to play service", str(ServiceReference(ref))
        if ref is not None:
                servicechanged.lastPlayAction = str(ServiceReference(ref))
        servicechanged.nextPlayTry = 0
-       result = oldPlayService(ref)
-       
+       result = oldPlayService(ref, **kwargs)
        return result
 
 def sessionstart(reason, session, **kwargs):