don't mark a device as present after poll messages. it might be trying to allocate...
authorLars Op den Kamp <lars@opdenkamp.eu>
Thu, 15 Nov 2012 14:23:20 +0000 (15:23 +0100)
committerLars Op den Kamp <lars@opdenkamp.eu>
Thu, 15 Nov 2012 14:23:20 +0000 (15:23 +0100)
src/lib/devices/CECBusDevice.cpp

index 6703e87ccd3d0be9c1b3e1cbd84552c7f4037b12..f3c429453225c1fe47dd860ca24bea7cf5bbd3ad 100644 (file)
@@ -186,7 +186,7 @@ bool CCECBusDevice::HandleCommand(const cec_command &command)
   bHandled = m_handler->HandleCommand(command);
 
   /* change status to present */
-  if (bHandled && GetLogicalAddress() != CECDEVICE_BROADCAST)
+  if (bHandled && GetLogicalAddress() != CECDEVICE_BROADCAST && command.opcode_set == 1)
   {
     CLockObject lock(m_mutex);
     if (m_deviceStatus != CEC_DEVICE_STATUS_HANDLED_BY_LIBCEC)