{
bool bSendActiveView(false);
bool bReturn(false);
+ cec_logical_addresses sendUpdatesTo;
{
CLockObject lock(&m_mutex);
m_busDevices[iPtr]->SetInactiveSource();
m_busDevices[iPtr]->SetPhysicalAddress(iPhysicalAddress);
if (bSendUpdate)
- m_busDevices[iPtr]->TransmitPhysicalAddress();
+ sendUpdatesTo.Set((cec_logical_address)iPtr);
}
bSendActiveView = bWasActiveSource && bSendUpdate;
}
}
+ for (uint8_t iPtr = 0; iPtr < 15; iPtr++)
+ if (sendUpdatesTo[iPtr])
+ m_busDevices[iPtr]->TransmitPhysicalAddress();
+
if (bSendActiveView)
SetActiveView();