Skip to content

Commit 777ad0b

Browse files
committed
Merge pull request godotengine#104306 from bruvzg/ed_map_override_crash
Fix editor crash on overrides for non-existent input mappings.
2 parents f8b1970 + 57011c8 commit 777ad0b

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

editor/editor_settings.cpp

+6-2
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,11 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const {
191191
} else if (p_name == "builtin_action_overrides") {
192192
Array actions_arr;
193193
for (const KeyValue<String, List<Ref<InputEvent>>> &action_override : builtin_action_overrides) {
194+
const List<Ref<InputEvent>> *defaults = InputMap::get_singleton()->get_builtins().getptr(action_override.key);
195+
if (!defaults) {
196+
continue;
197+
}
198+
194199
List<Ref<InputEvent>> events = action_override.value;
195200

196201
Dictionary action_dict;
@@ -206,8 +211,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const {
206211
}
207212

208213
Array defaults_arr;
209-
List<Ref<InputEvent>> defaults = InputMap::get_singleton()->get_builtins()[action_override.key];
210-
for (const Ref<InputEvent> &default_input_event : defaults) {
214+
for (const Ref<InputEvent> &default_input_event : *defaults) {
211215
if (default_input_event.is_valid()) {
212216
defaults_arr.append(default_input_event);
213217
}

0 commit comments

Comments
 (0)