diff options
author | FearlessTobi <thm.frey@gmail.com> | 2020-04-05 07:16:09 +0200 |
---|---|---|
committer | FearlessTobi <thm.frey@gmail.com> | 2020-04-05 07:16:09 +0200 |
commit | aa6214feb763170b1ba288a7fd656dc6a99cb23f (patch) | |
tree | 9acc5f1f8e7522a59f717444b440ecf6488b84b9 /src/yuzu/configuration/configure_mouse_advanced.cpp | |
parent | fb8afee077d72d27183af1c3843f4e16c647308c (diff) |
yuzu/configuration: Only assert that all buttons exist when we are handling the click for a button device
This fixes failed assertions that were present in yuzu master code for 18 months.
Diffstat (limited to 'src/yuzu/configuration/configure_mouse_advanced.cpp')
-rw-r--r-- | src/yuzu/configuration/configure_mouse_advanced.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/yuzu/configuration/configure_mouse_advanced.cpp b/src/yuzu/configuration/configure_mouse_advanced.cpp index 0a4abe34f3..e0647ea5bc 100644 --- a/src/yuzu/configuration/configure_mouse_advanced.cpp +++ b/src/yuzu/configuration/configure_mouse_advanced.cpp @@ -184,18 +184,19 @@ void ConfigureMouseAdvanced::HandleClick( button->setText(tr("[press key]")); button->setFocus(); - const auto iter = std::find(button_map.begin(), button_map.end(), button); - ASSERT(iter != button_map.end()); - const auto index = std::distance(button_map.begin(), iter); - ASSERT(index < Settings::NativeButton::NumButtons && index >= 0); + // Keyboard keys can only be used as button devices + want_keyboard_keys = type == InputCommon::Polling::DeviceType::Button; + if (want_keyboard_keys) { + const auto iter = std::find(button_map.begin(), button_map.end(), button); + ASSERT(iter != button_map.end()); + const auto index = std::distance(button_map.begin(), iter); + ASSERT(index < Settings::NativeButton::NumButtons && index >= 0); + } input_setter = new_input_setter; device_pollers = InputCommon::Polling::GetPollers(type); - // Keyboard keys can only be used as button devices - want_keyboard_keys = type == InputCommon::Polling::DeviceType::Button; - for (auto& poller : device_pollers) { poller->Start(); } |