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. |
||
---|---|---|
.. | ||
doc_classes | ||
export | ||
wayland | ||
x11 | ||
crash_handler_linuxbsd.cpp | ||
crash_handler_linuxbsd.h | ||
dbus-so_wrap.c | ||
dbus-so_wrap.h | ||
detect.py | ||
fontconfig-so_wrap.c | ||
fontconfig-so_wrap.h | ||
freedesktop_portal_desktop.cpp | ||
freedesktop_portal_desktop.h | ||
freedesktop_screensaver.cpp | ||
freedesktop_screensaver.h | ||
godot_linuxbsd.cpp | ||
joypad_linux.cpp | ||
joypad_linux.h | ||
libudev-so_wrap.c | ||
libudev-so_wrap.h | ||
os_linuxbsd.cpp | ||
os_linuxbsd.h | ||
pck_embed.ld | ||
pck_embed.legacy.ld | ||
platform_config.h | ||
platform_gl.h | ||
platform_linuxbsd_builders.py | ||
README.md | ||
SCsub | ||
speechd-so_wrap.c | ||
speechd-so_wrap.h | ||
tts_linux.cpp | ||
tts_linux.h | ||
xkbcommon-so_wrap.c | ||
xkbcommon-so_wrap.h |
Linux/*BSD platform port
This folder contains the C++ code for the Linux/*BSD platform port.
See also misc/dist/linux
folder for additional files
used by this platform.
Documentation
- Compiling for Linux/*BSD
- Instructions on building this platform port from source.
- Exporting for Linux/*BSD
- Instructions on using the compiled export templates to export a project.
Artwork license
logo.png
is derived from the Linux logo:
Permission to use and/or modify this image is granted provided you acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.