X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=c63bc57666f846a381571eb84d11042fb06ae818;hb=0cfdeb5a137651058e393d70c18523f77c10b5a6;hp=20b63bd7347ad1726d92647de2a80712d73b8751;hpb=efed01e1744208de67b6c54799a5c45e87d00406;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 20b63bd..c63bc57 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -162,6 +162,12 @@ bool CCECProcessor::OpenConnection(const char *strPort, uint16_t iBaudRate, uint return bReturn; } +bool CCECProcessor::IsInitialised(void) +{ + CLockObject lock(m_mutex); + return m_bInitialised; +} + void CCECProcessor::SetInitialised(bool bSetTo /* = true */) { CLockObject lock(m_mutex); @@ -377,6 +383,8 @@ bool CCECProcessor::FindLogicalAddresses(void) void CCECProcessor::ReplaceHandlers(void) { + if (!IsInitialised()) + return; for (uint8_t iPtr = 0; iPtr <= CECDEVICE_PLAYBACKDEVICE3; iPtr++) m_busDevices[iPtr]->ReplaceHandler(m_bInitialised); } @@ -1315,10 +1323,10 @@ bool CCECProcessor::PingAdapter(void) void CCECProcessor::HandlePoll(cec_logical_address initiator, cec_logical_address destination) { - m_busDevices[initiator]->GetHandler()->HandlePoll(initiator, destination); + m_busDevices[initiator]->HandlePoll(destination); } bool CCECProcessor::HandleReceiveFailed(cec_logical_address initiator) { - return !m_busDevices[initiator]->GetHandler()->HandleReceiveFailed(); + return !m_busDevices[initiator]->HandleReceiveFailed(); }