fix movielist selection when there is no (selected) item
authorFelix Domke <tmbinc@elitedvb.net>
Sun, 26 Feb 2006 23:27:10 +0000 (23:27 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Sun, 26 Feb 2006 23:27:10 +0000 (23:27 +0000)
lib/python/Components/MovieList.py
lib/python/Screens/MovieSelection.py

index 82d2c56b1c40284cf8505d36cd16b96a383a0aa9..bc659114f308bbf7a596a04a37d1dbf793129e20 100644 (file)
@@ -63,7 +63,8 @@ class MovieList(HTMLComponent, GUIComponent):
                return self.instance.getCurrentIndex()
 
        def getCurrent(self):
-               return self.l.getCurrentSelection()[0]
+               l = self.l.getCurrentSelection()
+               return l and l[0]
        
        def GUIcreate(self, parent):
                self.instance = eListbox(parent)
index 079f5ebd8a78cad81490ad34f899f89a68e5e9df..1701edb32313507bdbf01ddb502812a5144b4171 100644 (file)
@@ -92,7 +92,9 @@ class MovieSelection(Screen):
                self.onShown.append(self.go)
                
        def go(self):
-               self.delayTimer.start(0, 1)
+               # ouch. this should redraw our "Please wait..."-text.
+               # this is of course not the right way to do this.
+               self.delayTimer.start(10, 1)
 
        def updateHDDData(self):
                self["list"].reload(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD)))
@@ -106,13 +108,18 @@ class MovieSelection(Screen):
                self["list"].moveTo(self.selectedmovie)
 
        def getCurrent(self):
-               return self["list"].getCurrent()[0]
+               l = self["list"].getCurrent()
+               return l and l[0]
 
        def movieSelected(self):
-               self.close(self.getCurrent())
+               current = self.getCurrent()
+               if current is not None:
+                       self.close(current)
 
        def doContext(self):
-               self.session.open(ChannelContextMenu, self, self.getCurrent())
+               current = self.getCurrent()
+               if current is not None:
+                       self.session.open(ChannelContextMenu, self, )
 
        def abort(self):
                self.close(None)