From 8813063847fea968918b2cbcf45359cacd060e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Tue, 18 Mar 2025 12:01:58 +0200 Subject: [PATCH] Fix editor crash on overrides for non-existent input mappings. (cherry picked from commit 57011c89484313dda7f09a330b13198f492a1c44) --- editor/editor_settings.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/editor/editor_settings.cpp b/editor/editor_settings.cpp index a246249cfe3..9e58d01f264 100644 --- a/editor/editor_settings.cpp +++ b/editor/editor_settings.cpp @@ -182,6 +182,11 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const { } else if (p_name == "builtin_action_overrides") { Array actions_arr; for (const KeyValue>> &action_override : builtin_action_overrides) { + const List> *defaults = InputMap::get_singleton()->get_builtins().getptr(action_override.key); + if (!defaults) { + continue; + } + List> events = action_override.value; Dictionary action_dict; @@ -197,8 +202,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const { } Array defaults_arr; - List> defaults = InputMap::get_singleton()->get_builtins()[action_override.key]; - for (const Ref &default_input_event : defaults) { + for (const Ref &default_input_event : *defaults) { if (default_input_event.is_valid()) { defaults_arr.append(default_input_event); }