Skip to content

Using [Shift + Esc] on a event listener causes editor to crash #116181

Description

@AegisTTN

Tested versions

  • Reproducible in: v4.5.dev.custom_build [8bae32e], v4.6.stable, v4.6.1.rc1, v4.7.dev.custom_build [377b5a3]
  • Not reproducible in: v4.5.dev.custom_build [36d7a87]

System information

Godot v4.6.stable - Windows 11 (build 26100) - Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Laptop GPU (NVIDIA; 32.0.15.7260) - 12th Gen Intel(R) Core(TM) i7-12700H (20 threads) - 15.79 GiB memory

Issue description

While testing if I could exit the "Filter by Event" without using the mouse I caused the editor to crash.
Testing what caused it revealed that it happens by pressing [Shift + Esc] quickly, more specifically if [Shift + Esc] is pressed and the Shift key is released before the Esc key.

Couldn´t test using Ctrl or Alt with Esc as those are Windows Shortcuts

It seems to be caused by changes in #107196

CrashHandlerException: Program crashed
Engine version: Godot Engine v4.7.dev.custom_build (377b5a31752ad5e9c53733639ba0d263e1158645)
Dumping the backtrace. Please include this when reporting the bug on: https://github.com/godotengine/godot/issues
[0] InputEvent::is_pressed (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\input\input_event.cpp:80)
[1] InputEvent::is_pressed (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\input\input_event.cpp:80)
[2] EventListenerLineEdit::gui_input (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\editor\settings\event_listener_line_edit.cpp:189)
[3] Control::_call_gui_input (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\scene\gui\control.cpp:1896)
[4] Viewport::_gui_input_event (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\scene\main\viewport.cpp:2291)
[5] Viewport::push_input (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\scene\main\viewport.cpp:3518)
[6] Window::_window_input (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\scene\main\window.cpp:1871)
[7] call_with_variant_args_helper<Window,Ref<InputEvent> const &,0> (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\variant\binder_common.h:234)
[8] call_with_variant_args<Window,Ref<InputEvent> const &> (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\variant\binder_common.h:348)
[9] CallableCustomMethodPointer<Window,void,Ref<InputEvent> const &>::call (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\object\callable_method_pointer.h:103)
[10] Callable::callp (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\variant\callable.cpp:57)
[11] Callable::call<Ref<InputEvent> > (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\variant\variant.h:949)
[12] DisplayServerWindows::_dispatch_input_event (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\display_server_windows.cpp:4540)
[13] DisplayServerWindows::_dispatch_input_events (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\display_server_windows.cpp:4510)
[14] Input::_parse_input_event_impl (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\input\input.cpp:1003)
[15] Input::flush_buffered_events (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\core\input\input.cpp:1499)
[16] DisplayServerWindows::process_events (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\display_server_windows.cpp:3881)
[17] OS_Windows::run (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\os_windows.cpp:2353)
[18] widechar_main (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\godot_windows.cpp:99)
[19] _main (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\godot_windows.cpp:126)
[20] main (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\godot_windows.cpp:140)
[21] WinMain (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\godot_windows.cpp:154)
[22] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[23] ShimMainCRTStartup (C:\Users\-----\OneDrive\workspace\Godot\Versions\Godot Dev [Github]\godot\platform\windows\cpu_feature_validation.c:74)
[24] <couldn't map PC to fn name>
-- END OF C++ BACKTRACE --

Steps to reproduce

  • Open a new project
  • Open Shortcuts in the Editor Settings, or Input Map in Project Settings
  • Use "Filter by Event" and press "Shift + Esc"
  • If it didn´t crash yet, release the Shift key while still having the Esc key pressed

Minimal reproduction project (MRP)

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status
    Bad
    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions