cec: only log new power status when it actually changed
authorLars Op den Kamp <lars@opdenkamp.eu>
Sun, 30 Oct 2011 20:32:38 +0000 (21:32 +0100)
committerLars Op den Kamp <lars@opdenkamp.eu>
Sun, 30 Oct 2011 20:32:38 +0000 (21:32 +0100)
src/lib/devices/CECBusDevice.cpp

index 07d944eb32eefc0083d8356441f7ade4e9a6bac5..cbd332e088c44fce6bbf63779f0c4d47d4ef3845 100644 (file)
@@ -117,10 +117,13 @@ void CCECBusDevice::SetCecVersion(const cec_version newVersion)
 
 void CCECBusDevice::SetPowerStatus(const cec_power_status powerStatus)
 {
-  CStdString strLog;
-  strLog.Format("device %d power status changed from %2x to %2x", m_iLogicalAddress, m_powerStatus, powerStatus);
-  m_processor->AddLog(CEC_LOG_DEBUG, strLog);
-  m_powerStatus = powerStatus;
+  if (m_powerStatus != powerStatus)
+  {
+    CStdString strLog;
+    strLog.Format("device %d power status changed from %2x to %2x", m_iLogicalAddress, m_powerStatus, powerStatus);
+    m_processor->AddLog(CEC_LOG_DEBUG, strLog);
+    m_powerStatus = powerStatus;
+  }
 }
 
 void CCECBusDevice::SetVendorId(const cec_datapacket &data)