fixes
[enigma2.git] / Navigation.py
index e65edbb21ad2ad0688fee7e9d68956f0abaae01f..a0f40baf4e032c305ba06836e7f77d31e7e23f63 100644 (file)
@@ -37,7 +37,7 @@ class Navigation:
                        self.stopService()
                        return 0
                
                        self.stopService()
                        return 0
                
-               if not self.pnav.playService(ref):
+               if self.pnav and not self.pnav.playService(ref):
                        self.currentlyPlayingServiceReference = ref
                        return 0
                return 1
                        self.currentlyPlayingServiceReference = ref
                        return 0
                return 1
@@ -49,7 +49,7 @@ class Navigation:
                print "recording service: %s" % (str(ref))
                if isinstance(ref, ServiceReference.ServiceReference):
                        ref = ref.ref
                print "recording service: %s" % (str(ref))
                if isinstance(ref, ServiceReference.ServiceReference):
                        ref = ref.ref
-               service = self.pnav.recordService(ref)
+               service = self.pnav and self.pnav.recordService(ref)
                
                if service is None:
                        print "record returned non-zero"
                
                if service is None:
                        print "record returned non-zero"
@@ -60,17 +60,19 @@ class Navigation:
        def getCurrentService(self):
                if self.state:
                        if not self.currentlyPlayingService:
        def getCurrentService(self):
                if self.state:
                        if not self.currentlyPlayingService:
-                               self.currentlyPlayingService = self.pnav.getCurrentService()
+                               self.currentlyPlayingService = self.pnav and self.pnav.getCurrentService()
                        return self.currentlyPlayingService
                return None
 
        def stopService(self):
                        return self.currentlyPlayingService
                return None
 
        def stopService(self):
-               self.pnav.stopService()
+               if self.pnav:
+                       self.pnav.stopService()
                self.currentlyPlayingService = None
                self.currentlyPlayingService = None
+               self.currentlyPlayingServiceReference = None
 
        def pause(self, p):
 
        def pause(self, p):
-               return self.pnav.pause(p)
-       
+               return self.pnav and self.pnav.pause(p)
+
        def recordWithTimer(self, ref, begin, end, name, description, eit):
                if isinstance(ref, eServiceReference):
                        ref = ServiceReference.ServiceReference(ref)
        def recordWithTimer(self, ref, begin, end, name, description, eit):
                if isinstance(ref, eServiceReference):
                        ref = ServiceReference.ServiceReference(ref)
@@ -80,7 +82,8 @@ class Navigation:
        
        def shutdown(self):
                self.RecordTimer.shutdown()
        
        def shutdown(self):
                self.RecordTimer.shutdown()
-               del self.pnav
+               self.ServiceHandler = None
+               self.pnav = None
 
        def stopUserServices(self):
                self.stopService()
 
        def stopUserServices(self):
                self.stopService()