fix bluescreen when opening motor setup and more than one nim is configured
[enigma2.git] / lib / python / Plugins / SystemPlugins / PositionerSetup / plugin.py
index 49a096fb328c66068c79b53555991b5d0736408b..e394db4bd2c5294147e6934f3561c55179c36350 100644 (file)
@@ -529,11 +529,10 @@ class NimSelection(Screen):
        def __init__(self, session):
                Screen.__init__(self, session)
 
-               nimlist = nimmanager.getNimListOfType(nimmanager.nimType["DVB-S"])
+               nimlist = nimmanager.getNimListOfType("DVB-S")
                nimMenuList = []
                for x in nimlist:
-                       n = nimmanager.nim_slots[x]
-                       nimMenuList.append((n.friendly_full_name, x))
+                       nimMenuList.append((nimmanager.nim_slots[x].friendly_full_description, x))
                
                self["nimlist"] = MenuList(nimMenuList)
 
@@ -567,11 +566,14 @@ def PositionerMain(session, **kwargs):
                        else:
                                session.open(MessageBox, _("No tuner is configured for use with a diseqc positioner!"), MessageBox.TYPE_ERROR)
 
-def PositionerSetupStart(menuid):
+def PositionerSetupStart(menuid, **kwargs):
        if menuid == "scan":
-               return [(_("Positioner setup"), PositionerMain)]
+               return [(_("Positioner setup"), PositionerMain, "positioner_setup", None)]
        else:
                return []
 
 def Plugins(**kwargs):
-       return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_SETUP, fnc=PositionerSetupStart)
+       if (nimmanager.hasNimType("DVB-S")):
+               return PluginDescriptor(name=_("Positioner setup"), description="Setup your positioner", where = PluginDescriptor.WHERE_MENU, fnc=PositionerSetupStart)
+       else:
+               return []