fix
[enigma2.git] / lib / python / Screens / ChannelSelection.py
index 476348f7d41388432a4fe2da6fc279beb305f6d7..86388e326f94e5d357e22e820ff4b2432d5fb943 100644 (file)
@@ -821,6 +821,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect
                hlen = len(self.history)
                if hlen > HISTORYSIZE:
                        del self.history[0]
+                       hlen -= 1
                self.history_pos = hlen-1
 
        def historyBack(self):
@@ -881,7 +882,7 @@ class ChannelSelection(ChannelSelectionBase, ChannelSelectionEdit, ChannelSelect
                        if pathstr is not None and pathstr.find(refstr) == 0:
                                self.restoreRoot()
                                lastservice=eServiceReference(config.tv.lastservice.value)
-                               if lastservice is not None:
+                               if lastservice.valid():
                                        self.setCurrentSelection(lastservice)
                                return True
                return False
@@ -985,7 +986,7 @@ class ChannelSelectionRadio(ChannelSelectionBase, ChannelSelectionEdit, ChannelS
                        if pathstr is not None and pathstr.find(refstr) == 0:
                                self.restoreRoot()
                                lastservice=eServiceReference(config.radio.lastservice.value)
-                               if lastservice is not None:
+                               if lastservice.valid():
                                        self.setCurrentSelection(lastservice)
                                return True
                return False