summaryrefslogtreecommitdiffstats
path: root/platform/linuxbsd
Commit message (Collapse)AuthorAgeFilesLines
* [.NET] Disable output embedding on macOS, move it to the advanced options on ↵bruvzg2024-04-091-6/+13
| | | | other platforms.
* Make sysctl calls on FreeBSDsambler2024-04-081-1/+25
| | | | | | The OS module get_unique_id and get_processor_name rely on linux files which don't exist on a standard FreeBSD install, make sysctl calls to get the required data.
* Merge pull request #89935 from bruvzg/dbus_conn_fixRémi Verschelde2024-04-042-90/+57
|\ | | | | | | [Linux/Portal] Fix incorrect DBus connection usage.
| * [Linux/Portal] Fix incorrect DBus connection usage.bruvzg2024-03-272-90/+57
| |
* | Merge pull request #89907 from bruvzg/nat_dlg_ftr_flagsRémi Verschelde2024-03-282-2/+6
|\ \ | | | | | | | | | [DisplayServer] Add separate feature flags for different native dialog types.
| * | [DisplayServer] Add separate feature flags for different native dialog types.bruvzg2024-03-262-2/+6
| |/
* | Merge pull request #89716 from theromis/masterRémi Verschelde2024-03-281-1/+1
|\ \ | |/ |/| | | [X11] Add more details to large icon size warning
| * Add icon source size to warning about "too large icon dimensions" to help ↵Roman Vasilyev2024-03-221-1/+1
| | | | | | | | faster find it
* | Merge pull request #87831 from Riteo/bitfield-xorRémi Verschelde2024-03-261-1/+1
|\ \ | | | | | | | | | Core: Implement a XOR operator for BitField
| * | Core: Implement a XOR operator for BitFieldRiteo2024-02-011-1/+1
| | |
* | | Merge pull request #89707 from AThousandShips/typo_fixRémi Verschelde2024-03-241-1/+1
|\ \ \ | | | | | | | | | | | | [Wayland] Fix typo in input code
| * | | [Wayland] Fix typo in input codeA Thousand Ships2024-03-201-1/+1
| | |/ | |/|
* | | Merge pull request #89229 from akien-mga/main-refactor-os-exit-codeRémi Verschelde2024-03-241-6/+7
|\ \ \ | | | | | | | | | | | | Refactor OS exit code to be `EXIT_SUCCESS` by default
| * | | Refactor OS exit code to be `EXIT_SUCCESS` by defaultRémi Verschelde2024-03-081-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - `Main::setup` early exits (failure or `--help`/`--version`) now consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms, instead of 255 on some and a Godot Error code on others. - `Main::start` now returns the exit code, simplifying the handling of early failures. - `Main::iteration` needs to explicit set the exit code in OS if it errors out. - Web and iOS now properly return `OS::get_exit_code()` instead of 0.
* | | | Use `Vector*` component-wise `min/max/clamp` functions where applicableA Thousand Ships2024-03-201-6/+3
| |/ / |/| |
* | | clang-tidy: Enforce `modernize-use-nullptr`Thaddeus Crews2024-03-122-5/+5
| | |
* | | Merge pull request #89393 from Repiteo/retire-subprocess_mainRémi Verschelde2024-03-111-13/+5
|\ \ \ | | | | | | | | | | | | SCons: Remove `run_in_subprocess` & `subprocess_main` dependencies
| * | | SCons: Remove `run_in_subprocess` dependencyThaddeus Crews2024-03-111-13/+5
| | | |
* | | | Merge pull request #86101 from GrammAcc/partial-fix-68305Rémi Verschelde2024-03-111-13/+0
|\ \ \ \ | |/ / / |/| | | | | | | [X11] Partial fix for Editor and Project Manager stealing focus on some window managers
| * | | [X11] Partial Fix Godot Editor and Project Manager steals focus on a window ↵Dalton Lang2024-02-051-13/+0
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | manager on Linux 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.
* | | SCons: Convert remaining `run_in_subprocess` to `env.Run`Thaddeus Crews2024-03-101-2/+1
| | |
* | | Merge pull request #89328 from Riteo/wayland-cursor-frame-optRémi Verschelde2024-03-091-7/+14
|\ \ \ | | | | | | | | | | | | Wayland: Setup next cursor frame callback only if animated
| * | | Wayland: Setup next cursor frame callback only if animatedRiteo2024-03-091-7/+14
| | |/ | |/| | | | | | | | | | | | | | | | | | | Before, the cursor kept updating for no good reason really. It's also a bit neater and it ever-so-slightly makes `WAYLAND_DEBUG` logs easier to read, although they're still spammed by the window's frame logic (which is needed).
* | | Merge pull request #89307 from alesliehughes/wayland_usageRémi Verschelde2024-03-091-4/+24
|\ \ \ | | | | | | | | | | | | Wayland: Stop possible Null pointer dereferences
| * | | wayland: Stop possible Null pointer dereferencesAlistair Leslie-Hughes2024-03-091-4/+24
| |/ /
* / / wayland: Stop unreachable warningAlistair Leslie-Hughes2024-03-091-2/+2
|/ /
* | Merge pull request #87452 from bruvzg/native_menuRémi Verschelde2024-03-064-0/+27
|\ \ | | | | | | | | | Move `global_menu_*` methods to a separate `NativeMenu` class.
| * | Move `global_menu_*` methods to a separate `NativeMenu` class.bruvzg2024-03-044-0/+27
| | |
* | | Merge pull request #88520 from LinuxUserGD/execinfoRémi Verschelde2024-03-052-8/+14
|\ \ \ | | | | | | | | | | | | Disable the crash handler if `execinfo=no` scons option is set
| * | | Disable the crash handler if execinfo=no scons option is setLinuxUserGD2024-02-182-8/+14
| | | |
* | | | Merge pull request #89178 from Riteo/gotta-have-them-allRémi Verschelde2024-03-051-3/+14
|\ \ \ \ | |_|/ / |/| | | | | | | Wayland: Properly report all used features
| * | | Wayland: Properly report all used featuresRiteo2024-03-041-3/+14
| | | | | | | | | | | | | | | | Oops, missed a few.
* | | | [Wayland] Fix tilt handlingA Thousand Ships2024-03-032-3/+2
|/ / /
* | | Merge pull request #88970 from KoBeWi/ImageCursor2DRémi Verschelde2024-02-293-67/+8
|\ \ \ | | | | | | | | | | | | Improve `cursor_set_custom_image()` method
| * | | Improve cursor_set_custom_image() methodkobewi2024-02-283-67/+8
| | | |
* | | | Merge pull request #88959 from akien-mga/pre-commit-clang-17.0.6-black-24.2.0Rémi Verschelde2024-02-291-0/+1
|\ \ \ \ | | | | | | | | | | | | | | | Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
| * | | | Pre-commit: Update to clang-format 17.0.6 and black 24.2.0Rémi Verschelde2024-02-281-0/+1
| |/ / /
* / / / Wayland: Restore tablet support and handle multiple toolsRiteo2024-02-282-121/+151
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This code was already partially there, although heavily incomplete and nowadays commented out. It got broken after the `WaylandThread` refactor and I didn't bother to bring it over, preferring to `#if 0` it into oblivion for the time being as I don't have a tablet/pen which support an eraser and tilt reporting. This commit brings it back and adds proper multi-tool support (needed for eraser detection) thanks to winston-yallow, who could test this code with their more capable tablet.
* | | os_linuxbsd.cpp: include `servers/rendering_server.h`LinuxUserGD2024-02-191-0/+1
| | |
* | | Merge pull request #88245 from shana/simplify-mono-support-detectionRémi Verschelde2024-02-191-0/+1
|\ \ \ | |/ / |/| | | | | C#: Let platforms signal if they support the mono module or not
| * | C#: Let platforms signal if they support it or notAndreia Gaita2024-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of hardcoding platform names that support C#, let platforms set a flag indicating if they support it. All public platforms except web already support it, and it's a pain to maintain a patch for this list just to add additional names of proprietary console platforms. This makes adding new platforms or variants or existing platforms much easier, as the platform can signal what it supports/doesn't support directly, and we can avoid harcoding platform names.
* | | Merge pull request #88325 from akien-mga/texture-formatsRémi Verschelde2024-02-171-10/+4
|\ \ \ | | | | | | | | | | | | Export: Unify settings for PC texture formats, removed obsoleted ETC feature
| * | | Export: Unify settings for PC texture formatsRémi Verschelde2024-02-141-7/+4
| | | | | | | | | | | | | | | | S3TC and BPTC should always be used together, and likewise for ETC2 and ASTC.
| * | | Remove code relative to obsoleted ETC texture formatRémi Verschelde2024-02-141-3/+0
| | | | | | | | | | | | | | | | Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
* | | | Wayland: suspend window after frame timeout or suspend stateRiteo2024-02-156-19/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a pretty popular approach that took a while for me to wrap my head around and which only recently got "official" support through an update (xdg_shell version 6), so I think that this is all-in-all a better option than the overkill 2000Hz ticking we have now :P Basically, we wait for a frame event and, if either too much time passes or we get the new `suspended` state, we consider the window as "hidden" and stop drawing, ticking by the low usage rate. This should work great for KDE and Mutter, which support the new state, but not yet for sway, which is still stuck at a very old xdg_shell version and thus falls back to the timeout approach. Be aware that if we rely on timing out the engine will have to stall for the whole timeout, which _could_ be problematic but doensn't seem like it. Further testing is needed. Special thanks go to the guys over at #wayland on OFTC, who very patiently explained me this approach way too many times.
* | | | Merge pull request #86966 from Muller-Castro/value2ref-coreRémi Verschelde2024-02-152-2/+2
|\ \ \ \ | | | | | | | | | | | | | | | Add const lvalue ref to `core/*` container parameters
| * | | | Add const lvalue ref to core/* container parametersMuller-Castro2024-02-142-2/+2
| |/ / /
* / / / SCons: "Environment" to "SConsEnvironment"Thaddeus Crews2024-02-141-2/+2
|/ / /
* | | Add method to get "base" system UI color (macOS/Windows) and system theme ↵bruvzg2024-02-136-10/+87
| | | | | | | | | | | | change callback.
* | | Finish splitting functionality of the Vulkan and D3D12 backends into ↵Dario2024-02-1210-108/+154
| | | | | | | | | | | | RenderingDeviceDriver.