repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
updated changelog
[deb_libcec.git]
/
src
/
lib
/
devices
/
CECBusDevice.cpp
diff --git
a/src/lib/devices/CECBusDevice.cpp
b/src/lib/devices/CECBusDevice.cpp
index 686988cd0568dbcff9c3463fc8dc242339405863..8f966a233194dd748e76a1a43c1b85263ca1a225 100644
(file)
--- a/
src/lib/devices/CECBusDevice.cpp
+++ b/
src/lib/devices/CECBusDevice.cpp
@@
-133,10
+133,14
@@
bool CCECBusDevice::ReplaceHandler(bool bActivateSource /* = true */)
if (bInitHandler)
{
if (bInitHandler)
{
- m_handler->InitHandler();
+ CCECBusDevice *primary = GetProcessor()->GetPrimaryDevice();
+ if (primary->GetLogicalAddress() != CECDEVICE_UNREGISTERED)
+ {
+ m_handler->InitHandler();
- if (bActivateSource && IsHandledByLibCEC() && IsActiveSource())
- m_handler->ActivateSource();
+ if (bActivateSource && IsHandledByLibCEC() && IsActiveSource())
+ m_handler->ActivateSource();
+ }
}
MarkReady();
}
MarkReady();
@@
-948,15
+952,15
@@
bool CCECBusDevice::TransmitActiveSource(void)
LIB_CEC->AddLog(CEC_LOG_DEBUG, "<< %s (%X) is not the active source", GetLogicalAddressName(), m_iLogicalAddress);
}
LIB_CEC->AddLog(CEC_LOG_DEBUG, "<< %s (%X) is not the active source", GetLogicalAddressName(), m_iLogicalAddress);
}
+ bool bActiveSourceSent(false);
if (bSendActiveSource)
{
MarkBusy();
if (bSendActiveSource)
{
MarkBusy();
- m_handler->TransmitActiveSource(m_iLogicalAddress, m_iPhysicalAddress);
+
bActiveSourceSent =
m_handler->TransmitActiveSource(m_iLogicalAddress, m_iPhysicalAddress);
MarkReady();
MarkReady();
- return true;
}
}
- return
false
;
+ return
bActiveSourceSent
;
}
bool CCECBusDevice::TransmitImageViewOn(void)
}
bool CCECBusDevice::TransmitImageViewOn(void)
@@
-970,10
+974,11
@@
bool CCECBusDevice::TransmitImageViewOn(void)
}
}
}
}
+ bool bImageViewOnSent(false);
MarkBusy();
MarkBusy();
- m_handler->TransmitImageViewOn(m_iLogicalAddress, CECDEVICE_TV);
+
bImageViewOnSent =
m_handler->TransmitImageViewOn(m_iLogicalAddress, CECDEVICE_TV);
MarkReady();
MarkReady();
- return
true
;
+ return
bImageViewOnSent
;
}
bool CCECBusDevice::TransmitInactiveSource(void)
}
bool CCECBusDevice::TransmitInactiveSource(void)