diff --git a/src/openrct2-ui/input/ShortcutManager.cpp b/src/openrct2-ui/input/ShortcutManager.cpp index c5fb07d5d7..d2d24f71f6 100644 --- a/src/openrct2-ui/input/ShortcutManager.cpp +++ b/src/openrct2-ui/input/ShortcutManager.cpp @@ -131,8 +131,10 @@ RegisteredShortcut* ShortcutManager::GetShortcut(std::string_view id) void ShortcutManager::RemoveShortcut(std::string_view id) { - Shortcuts.erase(std::remove_if( - Shortcuts.begin(), Shortcuts.end(), [id](const RegisteredShortcut& shortcut) { return shortcut.Id == id; })); + Shortcuts.erase( + std::remove_if( + Shortcuts.begin(), Shortcuts.end(), [id](const RegisteredShortcut& shortcut) { return shortcut.Id == id; }), + Shortcuts.end()); } bool ShortcutManager::IsPendingShortcutChange() const diff --git a/src/openrct2-ui/scripting/CustomMenu.cpp b/src/openrct2-ui/scripting/CustomMenu.cpp index 5d0c41d94b..fbdfdf8e04 100644 --- a/src/openrct2-ui/scripting/CustomMenu.cpp +++ b/src/openrct2-ui/scripting/CustomMenu.cpp @@ -23,7 +23,7 @@ namespace OpenRCT2::Scripting { std::optional ActiveCustomTool; std::vector CustomMenuItems; - std::vector CustomShortcuts; + std::vector> CustomShortcuts; CustomShortcut::CustomShortcut( std::shared_ptr owner, std::string_view id, std::string_view text, const std::vector& bindings, @@ -130,7 +130,7 @@ namespace OpenRCT2::Scripting auto& shortcuts = CustomShortcuts; for (auto it = shortcuts.begin(); it != shortcuts.end();) { - if (it->Owner == owner) + if ((*it)->Owner == owner) { it = shortcuts.erase(it); } diff --git a/src/openrct2-ui/scripting/CustomMenu.h b/src/openrct2-ui/scripting/CustomMenu.h index 270e279c73..83e15749da 100644 --- a/src/openrct2-ui/scripting/CustomMenu.h +++ b/src/openrct2-ui/scripting/CustomMenu.h @@ -94,7 +94,7 @@ namespace OpenRCT2::Scripting extern std::optional ActiveCustomTool; extern std::vector CustomMenuItems; - extern std::vector CustomShortcuts; + extern std::vector> CustomShortcuts; void InitialiseCustomMenuItems(ScriptEngine& scriptEngine); void InitialiseCustomTool(ScriptEngine& scriptEngine, const DukValue& dukValue); diff --git a/src/openrct2-ui/scripting/ScUi.hpp b/src/openrct2-ui/scripting/ScUi.hpp index 188f6a098b..b35a11632b 100644 --- a/src/openrct2-ui/scripting/ScUi.hpp +++ b/src/openrct2-ui/scripting/ScUi.hpp @@ -327,7 +327,7 @@ namespace OpenRCT2::Scripting } auto callback = desc["callback"]; - CustomShortcuts.emplace_back(owner, id, text, bindings, callback); + CustomShortcuts.emplace_back(std::make_unique(owner, id, text, bindings, callback)); } catch (const DukException&) {