From 2d58228b7b63d5445ffd9b5fef92ac46dbd0b904 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Thu, 19 Jan 2006 12:49:06 +0000 Subject: [PATCH] just retune on "managed" dvbchannels .. not in scan --- lib/dvb/dvb.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 32e19308..364787ac 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -591,9 +591,18 @@ void eDVBChannel::frontendStateChanged(iDVBFrontend*fe) ourstate = state_tuning; } else if (state == iDVBFrontend::stateLostLock) { - eDebug("OURSTATE: lost lock.. retune"); - ourstate = state_tuning; - m_frontend->get().tune(*m_feparm); + if (m_feparm) + { + eDebug("OURSTATE: lost lock.. retune"); + ourstate = state_tuning; + m_frontend->get().tune(*m_feparm); + } + else // this case happens in scan.. in scan setChannel is not used .. so m_feparm is NULL + // but its okay.. in scan we dont like to retune + { + eDebug("OURSTATE: lost lock.. but no feparm avail.. set state_unavailable"); + ourstate = state_unavailable; + } } else if (state == iDVBFrontend::stateFailed) { eDebug("OURSTATE: failed"); -- 2.30.2