{
LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s (%X): physical address changed from %04x to %04x", GetLogicalAddressName(), m_iLogicalAddress, m_iPhysicalAddress, iNewAddress);
m_iPhysicalAddress = iNewAddress;
+
+ if (m_processor->GetDevices()->GetActiveSourceAddress() == iNewAddress)
+ MarkAsActiveSource();
}
return true;
}
if (bWasActivated)
{
- m_processor->SetActiveSource(true, false);
+ if (IsHandledByLibCEC())
+ m_processor->SetActiveSource(true, false);
CCECClient *client = GetClient();
if (client)
client->SourceActivated(m_iLogicalAddress);
if (bWasDeactivated)
{
- m_processor->SetActiveSource(false, bClientUnregistered);
+ if (IsHandledByLibCEC())
+ m_processor->SetActiveSource(false, bClientUnregistered);
CCECClient *client = GetClient();
if (client)
client->SourceDeactivated(m_iLogicalAddress);