-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Input System - Changing Value and pressing outside the field crashing Godot Engine #86612
Comments
What do you mean "input system"? Do you mean the |
yeah. sorry I am new, I accidently wrote system instead of map. |
Experiencing this as well. To reproduce do Project > Project Settings > Input Map and double-click an existing action to rename it, then with the text field still active, double click on another action's name (as if you're trying to rename that one as well). Instant crash. Until this is fixed the workaround is to press Enter to confirm a rename, instead of clicking elsewhere. Godot 4.2.1 (Stable, Forward+), Windows 10 (19044.3086), NVIDIA GTX 970 (31.0.15.3623), Intel i7-3770K |
yup, happened to me as well |
I can't reproduce the crash on Linux (KDE Plasma/XWayland) with either 4.2.1-stable or 4.3-dev4. Might be Windows specific? CC @Sauermann @bruvzg |
I can reproduce it (sometimes) on macOS as well, so it's not Windows specific. Trace:
|
The issue is caused by godot/editor/action_map_editor.cpp Lines 431 to 433 in f289648
|
Something like this seems to fix it, but I'm not sure if the rest of the logic is correct: diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 7842fc5fc0..b696115e1f 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -3166,9 +3166,17 @@ void Tree::_text_editor_popup_modal_close() {
}
if (popup_edited_item->is_edit_multiline(popup_edited_item_col) && popup_edited_item->get_cell_mode(popup_edited_item_col) == TreeItem::CELL_MODE_STRING) {
- _apply_multiline_edit();
+ if (blocked > 0) {
+ callable_mp(this, &Tree::_apply_multiline_edit).call_deferred();
+ } else {
+ _apply_multiline_edit();
+ }
} else {
- _line_editor_submit(line_editor->get_text());
+ if (blocked > 0) {
+ callable_mp(this, &Tree::_line_editor_submit).call_deferred(line_editor->get_text());
+ } else {
+ _line_editor_submit(line_editor->get_text());
+ }
}
}
|
Tested versions
System information
Godot v4.2.1.stable - Windows 10.0.19045 - Vulkan (Mobile) - dedicated NVIDIA GeForce GT 1030 (NVIDIA; 31.0.15.3758) - AMD Ryzen 3 3100 4-Core Processor (8 Threads)
Issue description
Input Map - Changing Value and pressing outside the field crashing Godot Engine
Steps to reproduce
open input map, add a few fields,
try renaming, don't press enter, instead click outside the field.
then engine will crash.
Minimal reproduction project (MRP)
The text was updated successfully, but these errors were encountered: