Fix for bug - switch association fails (#5947)
* Fix for bug - switch association fails Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com> * Change message box button from 'Yes' to 'Ok' Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> * Changed message box button from 'Yes' to 'Ok' Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com> Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com> Co-authored-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
This commit is contained in:
@@ -368,4 +368,36 @@ namespace AudioControls
|
||||
}
|
||||
}
|
||||
|
||||
bool CATLControl::SwitchStateConnectionCheck(IAudioSystemControl* middlewareControl)
|
||||
{
|
||||
if (IAudioSystemEditor* audioSystemImpl = CAudioControlsEditorPlugin::GetImplementationManager()->GetImplementation())
|
||||
{
|
||||
CID parentID = middlewareControl->GetParent()->GetId();
|
||||
EACEControlType compatibleType = audioSystemImpl->ImplTypeToATLType(middlewareControl->GetType());
|
||||
if (compatibleType == EACEControlType::eACET_SWITCH_STATE && m_type == EACEControlType::eACET_SWITCH)
|
||||
{
|
||||
for (auto& child : m_children)
|
||||
{
|
||||
for (int j = 0; child && j < child->ConnectionCount(); ++j)
|
||||
{
|
||||
TConnectionPtr tmpConnection = child->GetConnectionAt(j);
|
||||
if (tmpConnection)
|
||||
{
|
||||
IAudioSystemControl* tmpMiddlewareControl = audioSystemImpl->GetControl(tmpConnection->GetID());
|
||||
EACEControlType controlType = audioSystemImpl->ImplTypeToATLType(tmpMiddlewareControl->GetType());
|
||||
if (tmpMiddlewareControl && controlType == EACEControlType::eACET_SWITCH_STATE)
|
||||
{
|
||||
if (parentID != ACE_INVALID_CID && tmpMiddlewareControl->GetParent()->GetId() != parentID)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace AudioControls
|
||||
|
||||
Reference in New Issue
Block a user