check unsupported features properly
authorLars Op den Kamp <lars@opdenkamp.eu>
Tue, 4 Dec 2012 00:05:35 +0000 (01:05 +0100)
committerLars Op den Kamp <lars@opdenkamp.eu>
Tue, 4 Dec 2012 00:07:52 +0000 (01:07 +0100)
src/lib/implementations/CECCommandHandler.cpp

index a49831565b38c4beb26419a83a59bc64172d758f..ed5e74142e71291e6964b7ec673f2a903694c072 100644 (file)
@@ -1142,11 +1142,15 @@ bool CCECCommandHandler::Transmit(cec_command &command, bool bSuppressWait, bool
       LIB_CEC->AddLog(CEC_LOG_DEBUG, "not sending command '%s': destination device '%s' marked as handled by libCEC", ToString(command.opcode),ToString(command.destination));
       return bReturn;
     }
+    else if (destinationDevice->IsUnsupportedFeature(command.opcode))
+    {
+      return true;
+    }
   }
 
   {
     uint8_t iTries(0), iMaxTries(!command.opcode_set ? 1 : m_iTransmitRetries + 1);
-    while (!bReturn && ++iTries <= iMaxTries && !m_busDevice->IsUnsupportedFeature(command.opcode))
+    while (!bReturn && ++iTries <= iMaxTries)
     {
       if ((bReturn = m_processor->Transmit(command, bIsReply)) == true)
       {