mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
8a2e4409e6
This is a workaround for the most critical portion of the WM focus bug described in #68305. On some specific X11 WM configurations, the editor's main window and any popups it creates will fight for focus, which causes a total system lockup due to mouse and keyboard input being stolen as well. Getting out of this infinite loop requires force restarting the system. It can be tested with the following shell script: ```bash !#/bin/sh godot4 & sleep 30 pkill -x godot4 ``` The workaround identified in #68305 is to remove the call to XSetInputFocus in the ConfigureNotify event handler, so I have removed the conditional block that calls this as well as the setup code above it since there is no need to allocate the memory for the variables if they won't be used in that call anymore. This is just a hack and is not a complete fix for #68305. Multiple developers are collaborating on a proper fix in the discussion in that issue, but time is a valuable resource that no one has enough of, so I am committing this workaround as a stop-gap to prevent the most critical problem while we work on a full solution for the underlying cause. |
||
---|---|---|
.. | ||
dynwrappers | ||
detect_prime_x11.cpp | ||
detect_prime_x11.h | ||
display_server_x11.cpp | ||
display_server_x11.h | ||
gl_manager_x11_egl.cpp | ||
gl_manager_x11_egl.h | ||
gl_manager_x11.cpp | ||
gl_manager_x11.h | ||
key_mapping_x11.cpp | ||
key_mapping_x11.h | ||
SCsub | ||
vulkan_context_x11.cpp | ||
vulkan_context_x11.h |