X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/5c644fbbceaa79a49501975de16b090771edee29..7698f560bce1d097c887cbee427e0389fa85eee6:/lib/dvb/dvb.cpp diff --git a/lib/dvb/dvb.cpp b/lib/dvb/dvb.cpp index 62899379..57db2462 100644 --- a/lib/dvb/dvb.cpp +++ b/lib/dvb/dvb.cpp @@ -493,19 +493,22 @@ bool eDVBResourceManager::canAllocateChannel(const eDVBChannelID &channelid, con if (!decremented_cached_channel_fe_usecount) { - eDVBChannel *channel = (eDVBChannel*) &(*m_cached_channel); - if (channel->getUseCount() == 1) + if (m_cached_channel) { - ePtr fe; - if (!channel->getFrontend(fe)) + eDVBChannel *channel = (eDVBChannel*) &(*m_cached_channel); + if (channel->getUseCount() == 1) { - for (eSmartPtrList::iterator ii(m_frontend.begin()); ii != m_frontend.end(); ++ii) + ePtr fe; + if (!channel->getFrontend(fe)) { - if ( &(*fe) == &(*ii->m_frontend) ) + for (eSmartPtrList::iterator ii(m_frontend.begin()); ii != m_frontend.end(); ++ii) { - --ii->m_inuse; - decremented_cached_channel_fe_usecount = &ii->m_inuse; - break; + if ( &(*fe) == &(*ii->m_frontend) ) + { + --ii->m_inuse; + decremented_cached_channel_fe_usecount = &ii->m_inuse; + break; + } } } }