Merge pull request #18711 from hrydgard/fix-analog-speed-crash

Don't crash after mapping analog speed to a stick.
This commit is contained in:
Henrik Rydgård 2024-01-17 09:48:05 +01:00 committed by GitHub
commit 72c4d346d0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 3 deletions

View File

@ -553,12 +553,16 @@ bool InputMappingsFromPspButtonNoLock(int btn, std::vector<MultiInputMapping> *m
return false;
}
bool mapped = false;
mappings->clear();
if (mappings) {
mappings->clear();
}
for (auto &iter2 : iter->second) {
bool ignore = ignoreMouse && iter2.HasMouse();
if (mappings && !ignore) {
if (!ignore) {
mapped = true;
mappings->push_back(iter2);
if (mappings) {
mappings->push_back(iter2);
}
}
}
return mapped;

View File

@ -1527,6 +1527,7 @@ void GameSettingsScreen::dialogFinished(const Screen *dialog, DialogResult resul
RecreateViews();
}
// Show/hide the Analog Alternative Speed as appropriate - need to recreate views if this changed.
bool mapped = KeyMap::InputMappingsFromPspButton(VIRTKEY_SPEED_ANALOG, nullptr, true);
if (mapped != analogSpeedMapped_) {
analogSpeedMapped_ = mapped;