X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECBusDevice.cpp;h=41643a3519263a238d025fe92c6b2adc68750dde;hb=3fd2a2b89c3f6f9d8e28c19e45622386a981ef8d;hp=f03f0cba0bbf590fd6d2baa325a5b6d56a595df2;hpb=72689600b9622fd55a53d9a95b8af42823d00356;p=deb_libcec.git diff --git a/src/lib/devices/CECBusDevice.cpp b/src/lib/devices/CECBusDevice.cpp index f03f0cb..41643a3 100644 --- a/src/lib/devices/CECBusDevice.cpp +++ b/src/lib/devices/CECBusDevice.cpp @@ -434,10 +434,15 @@ void CCECBusDevice::SetMenuState(const cec_menu_state state) } } -void CCECBusDevice::SetInactiveDevice(void) +void CCECBusDevice::SetInactiveSource(void) { - CLockObject lock(&m_writeMutex); - m_bActiveSource = false; + { + CLockObject lock(&m_writeMutex); + m_bActiveSource = false; + } + + if (MyLogicalAddressContains(m_iLogicalAddress)) + SetPowerStatus(CEC_POWER_STATUS_STANDBY); } void CCECBusDevice::SetActiveSource(void) @@ -446,7 +451,7 @@ void CCECBusDevice::SetActiveSource(void) for (int iPtr = 0; iPtr < 16; iPtr++) if (iPtr != m_iLogicalAddress) - m_processor->m_busDevices[iPtr]->SetInactiveDevice(); + m_processor->m_busDevices[iPtr]->SetInactiveSource(); m_bActiveSource = true; m_powerStatus = CEC_POWER_STATUS_ON;