fix bluescreen when wizard ends
[enigma2.git] / lib / python / Screens / ChannelSelection.py
index 065d36caabe1cc78fd4dd1a300ce67a6a0e611a3..7db3a1c896533befc2b1613c75bf7a4929de553d 100644 (file)
@@ -54,7 +54,8 @@ class ChannelContextMenu(Screen):
                        })
                menu = [ ]
 
-               inBouquetRootList = csel.getRoot().getPath().find('FROM BOUQUET "bouquets.') != -1 #FIXME HACK
+               current_root = csel.getRoot()
+               inBouquetRootList = current_root and current_root.getPath().find('FROM BOUQUET "bouquets.') != -1 #FIXME HACK
                inBouquet = csel.getMutableList() is not None
                haveBouquets = csel.bouquet_root.getPath().find('FROM BOUQUET "bouquets.') != -1
 
@@ -297,7 +298,10 @@ class ChannelSelectionEdit:
                        if pos != -1:
                                filename = '/etc/enigma2/' + refstr[:pos] # FIXMEEE !!! HARDCODED /etc/enigma2
                self.removeCurrentService()
-               remove(filename)
+               try:
+                       remove(filename)
+               except OSError:
+                       print "error during remove of", filename
                eDVBDB.getInstance().reloadBouquets()
 
 #  multiple marked entry stuff ( edit mode, later multiepg selection )
@@ -374,7 +378,6 @@ class ChannelSelectionEdit:
                        if not mutableList.addService(self.servicelist.getCurrent()):
                                self.bouquetNumOffsetCache = { }
                                mutableList.flushChanges()
-               self.close()
 
        def toggleMoveMode(self):
                if self.movemode:
@@ -439,8 +442,8 @@ class ChannelSelectionBase(Screen):
 
                self.servicePathTV = [ ]
                self.servicePathRadio = [ ]
-               self.servicePath = None
-               
+               self.servicePath = [ ]
+
                self.mode = MODE_TV
 
                self.pathChangedDisabled = False