InputCommon: improve code that returns a controller attachment index

casting a value to a u32 when it's originally an int, and it's exposed as int to users,
could end up in cases where a negative number would result as a positive one.
This doesn't really affect the value range of the attachment enum,
still I think the code was wrong.

Heavily tested.
This commit is contained in:
Filoppi 2021-05-05 00:01:20 +03:00
parent d43a06ff6a
commit a19a0096db
1 changed files with 4 additions and 3 deletions

View File

@ -17,10 +17,11 @@ void Attachments::AddAttachment(std::unique_ptr<EmulatedController> att)
u32 Attachments::GetSelectedAttachment() const
{
const u32 value = m_selection_value.GetValue();
// This is originally an int, treat it as such
const int value = m_selection_value.GetValue();
if (value < m_attachments.size())
return value;
if (value > 0 && static_cast<size_t>(value) < m_attachments.size())
return u32(value);
return 0;
}