repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cec: thread methods should be virtual, not inline. fixes access violation on win32
[deb_libcec.git]
/
src
/
lib
/
CECProcessor.cpp
diff --git
a/src/lib/CECProcessor.cpp
b/src/lib/CECProcessor.cpp
index 20b63bd7347ad1726d92647de2a80712d73b8751..c63bc57666f846a381571eb84d11042fb06ae818 100644
(file)
--- 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;
}
return bReturn;
}
+bool CCECProcessor::IsInitialised(void)
+{
+ CLockObject lock(m_mutex);
+ return m_bInitialised;
+}
+
void CCECProcessor::SetInitialised(bool bSetTo /* = true */)
{
CLockObject lock(m_mutex);
void CCECProcessor::SetInitialised(bool bSetTo /* = true */)
{
CLockObject lock(m_mutex);
@@
-377,6
+383,8
@@
bool CCECProcessor::FindLogicalAddresses(void)
void CCECProcessor::ReplaceHandlers(void)
{
void CCECProcessor::ReplaceHandlers(void)
{
+ if (!IsInitialised())
+ return;
for (uint8_t iPtr = 0; iPtr <= CECDEVICE_PLAYBACKDEVICE3; iPtr++)
m_busDevices[iPtr]->ReplaceHandler(m_bInitialised);
}
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)
{
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)
{
}
bool CCECProcessor::HandleReceiveFailed(cec_logical_address initiator)
{
- return !m_busDevices[initiator]->
GetHandler()->
HandleReceiveFailed();
+ return !m_busDevices[initiator]->HandleReceiveFailed();
}
}