aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 13:19:24 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-05-22 13:19:24 +0000
commit961fcb6cec16091f610dec1f019d43b6096e7390 (patch)
treef272022790a76a77a32997e20f9a7d81a80cb004 /lib
parent9d8d1436be9d8c9c5b79089a288b9716e4a098b9 (diff)
downloadenigma2-961fcb6cec16091f610dec1f019d43b6096e7390.tar.gz
enigma2-961fcb6cec16091f610dec1f019d43b6096e7390.zip
do not ask to scan on tuner 0 when not needed
Diffstat (limited to 'lib')
-rw-r--r--lib/components/scan.cpp4
-rw-r--r--lib/dvb/sec.cpp9
-rw-r--r--lib/python/Screens/ScanSetup.py6
3 files changed, 13 insertions, 6 deletions
diff --git a/lib/components/scan.cpp b/lib/components/scan.cpp
index c21e8f4b..5355208f 100644
--- a/lib/components/scan.cpp
+++ b/lib/components/scan.cpp
@@ -8,7 +8,7 @@ DEFINE_REF(eComponentScan);
void eComponentScan::scanEvent(int evt)
{
- eDebug("scan event %d!", evt);
+// eDebug("scan event %d!", evt);
if (evt == eDVBScan::evtFinish)
{
@@ -107,7 +107,7 @@ int eComponentScan::start(int feid, int flags)
std::list<ePtr<iDVBFrontendParameters> > list;
- m_scan = new eDVBScan(channel);
+ m_scan = new eDVBScan(channel, true);
m_scan->connectEvent(slot(*this, &eComponentScan::scanEvent), m_scan_event_connection);
m_scan->start(m_initial, flags);
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp
index 2a35ba14..f91824dc 100644
--- a/lib/dvb/sec.cpp
+++ b/lib/dvb/sec.cpp
@@ -1113,6 +1113,7 @@ PyObject *eDVBSatelliteEquipmentControl::get_exclusive_satellites(int tu1, int t
else if (cnt == tu2)
p2 = *it;
}
+
if (p1 && p2)
{
// check for linked tuners
@@ -1145,10 +1146,12 @@ PyObject *eDVBSatelliteEquipmentControl::get_exclusive_satellites(int tu1, int t
int tmp2=-1;
// check for rotor dependency
p1->m_frontend->getData(eDVBFrontend::SATPOS_DEPENDS_PTR, tmp1);
+ if (tmp1 != -1)
+ p1 = (void*)tmp1;
p2->m_frontend->getData(eDVBFrontend::SATPOS_DEPENDS_PTR, tmp2);
- if (tmp1 != -1 && (void*)tmp1 != p2
- && tmp2 != -1 && (void*)tmp2 != p1
- && tmp1 != tmp2 )
+ if (tmp2 != -1)
+ p2 = (void*)tmp2;
+ if (p1 != p2)
{
int tu1_mask = 1 << p1->m_frontend->getID(),
tu2_mask = 1 << p2->m_frontend->getID();
diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py
index ff76d020..4983f768 100644
--- a/lib/python/Screens/ScanSetup.py
+++ b/lib/python/Screens/ScanSetup.py
@@ -601,11 +601,15 @@ class ScanSimple(Screen):
nimcount = nimmanager.getNimSocketCount()
if nimcount > 0:
+ scan_possible=True
config.scan = ConfigSubsection()
config.scan.clearallservices = configElement_nonSave("config.scan.clearallservices", configSelection, 0, (("no", _("no")), ("yes", _("yes")), ("yes_hold_feeds", _("yes (hold feeds)"))))
self.list.append(getConfigListEntry(_("Clear before scan"), config.scan.clearallservices))
nim = configElement_nonSave(0, configSelection, 0, (("yes", _("yes")), ("no", _("no"))))
- self.list.append(getConfigListEntry(_("Scan NIM") + " 0 (" + nimmanager.getNimTypeName(0) + ")", nim))
+ if nimmanager.getNimType(0) == nimmanager.nimType["DVB-S"] and not len(nimmanager.getSatListForNim(0)):
+ scan_possible=False
+ if scan_possible:
+ self.list.append(getConfigListEntry(_("Scan NIM") + " 0 (" + nimmanager.getNimTypeName(0) + ")", nim))
if nimcount > 1 and self.ScanNimTwoNeeded():
nim = configElement_nonSave(1, configSelection, 0, (("yes", _("yes")), ("no", _("no"))))
self.list.append(getConfigListEntry(_("Scan NIM") + " 1 (" + nimmanager.getNimTypeName(1) + ")", nim))