From 11bd2bd7874f9a19bc61694bec44ec58122f6cfe Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Thu, 11 Oct 2012 14:12:25 +0200 Subject: [PATCH] fixed - CCECClient::IsLibCECActiveSource returns false now while the active source command is pending --- src/lib/CECClient.cpp | 2 +- src/lib/implementations/CECCommandHandler.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/CECClient.cpp b/src/lib/CECClient.cpp index d6f8100..9a28916 100644 --- a/src/lib/CECClient.cpp +++ b/src/lib/CECClient.cpp @@ -1344,7 +1344,7 @@ bool CCECClient::IsLibCECActiveSource(void) cec_logical_address activeSource = m_processor->GetActiveSource(); CCECBusDevice *device = m_processor->GetDevice(activeSource); if (device) - bReturn = device->IsHandledByLibCEC(); + bReturn = device->IsHandledByLibCEC() && !device->GetHandler()->ActiveSourcePending(); } return bReturn; } diff --git a/src/lib/implementations/CECCommandHandler.h b/src/lib/implementations/CECCommandHandler.h index 61f9f47..fca8a96 100644 --- a/src/lib/implementations/CECCommandHandler.h +++ b/src/lib/implementations/CECCommandHandler.h @@ -97,6 +97,7 @@ namespace CEC virtual bool SupportsDeviceType(const cec_device_type UNUSED(type)) const { return true; }; virtual cec_device_type GetReplacementDeviceType(const cec_device_type type) const { return type; } + virtual bool ActiveSourcePending(void) const { return m_iActiveSourcePending != 0; } protected: virtual int HandleActiveSource(const cec_command &command); -- 2.34.1