- case iDVBChannel::state_ok:
- eDebug("[eDVBLocalTimerHandler] channel %p running", chan);
- it->second.tdt = new TDT(chan);
- it->second.tdt->start();
- break;
- case iDVBChannel::state_release:
- eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
- delete it->second.tdt;
- m_knownChannels.erase(it);
- break;
+ switch (state)
+ {
+ case iDVBChannel::state_ok:
+ eDebug("[eDVBLocalTimerHandler] channel %p running", chan);
+ it->second.tdt = new TDT(it->second.channel);
+ it->second.tdt->start();
+ break;
+ case iDVBChannel::state_release:
+ eDebug("[eDVBLocalTimerHandler] remove channel %p", chan);
+ m_knownChannels.erase(it);
+ break;
+ default: // ignore all other events
+ return;
+ }
+ it->second.m_prevChannelState = state;