Commit Graph

748 Commits

Author SHA1 Message Date
Rémi Verschelde 10e8a25ce7 SCons: Fix X11 `use_lld` fallback not being applied 2022-07-31 13:49:12 +02:00
Rémi Verschelde 818f1eed31 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 14:53:37 +02:00
Rémi Verschelde 364071c2c4
Merge pull request #63283 from akien-mga/3.x-scons-linux-refactor-linker 2022-07-22 11:40:29 +02:00
Hansem Ro a36902f2c1 [3.x, X11] Do case-insensitive search for pen inversion detection 2022-07-21 19:25:39 -07:00
Rémi Verschelde 5bb3063eec SCons: Refactor Linux linker options with `linker=<bfd|gold|lld|mold>`
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:

- `default`: No change, typically uses GNU ld (bfd) unless the user or
  distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
  use in production but great for development speed. Provided by distro
  `mold` package or needs to be compiled from source and installed to
  `/usr` otherwise.

Deprecates the `use_lld=yes` option, and make lld actually usable with
GCC too.

Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.

(cherry picked from commit 534f85add1daec0669a1f18edd2cc456f9a296ef)
2022-07-22 01:03:31 +02:00
bruvzg 108dcf3bf0
Improve OS.set_current_screen
Fix moving fullscreen windows on macOS and Windows
Fix window position on Linux/X11
2022-07-19 12:23:52 +03:00
Rémi Verschelde 101cbe5d5b
Merge pull request #62723 from hansemro/eraser-detect-3.x 2022-07-15 00:13:15 +02:00
Jan Haller 861e155543 Fix exit code of --help and --version, and test them in CI
Corrects prior regression which caused ERROR output and exit code of 1.

(cherry picked from commit d38d76d039)
2022-07-08 14:54:16 +02:00
Hansem Ro 193d5c11f3 [3.x, macOS, Windows, X11] Add stylus inverted/eraser support to InputEventMouseMotion event 2022-07-04 16:12:11 -07:00
Wilson E. Alvarez cf38b6f187
Properly check for fullscreen toggle made through the Window Manager 2022-06-29 21:55:51 -04:00
Rémi Verschelde 2cad0055fa
Merge pull request #60806 from pfertyk/issue-60466-nan-in-windows-size 2022-06-15 14:55:01 +02:00
Paweł Fertyk b3f822eaae Fix `set_window_size` crash when using NaN
Fixes #60466.
2022-06-15 13:43:41 +02:00
bruvzg f5fa1ca944
Add readable export errors. Add RTL image vertical alignment support. 2022-06-08 17:56:28 +03:00
Marcel Admiraal 89c758a4de Read and store joypad events in a separate thread on x11 platform 2022-05-05 16:15:33 +02:00
Rémi Verschelde 3b8818e5c4 Crash handler: Use `print_error` to include backtrace in logs 2022-05-05 12:13:04 +02:00
bruvzg bea7c9be5d [3.x] Improve embedded PCK loading and exporting. 2022-04-28 11:11:48 +03:00
Rémi Verschelde d021cef134 Linux: Use pkg-config for alsa, libudev and GL too
It's not needed on most distros as those are found in standard lib
and include paths, but on NixOS they're all in non-standard prefixes,
so we need to rely on information provided by pkg-config.

Fixes #59913.

Co-authored-by: David Lewis <davidalewis00@gmail.com>
(cherry picked from commit 07ad066420)
2022-04-27 12:34:58 +02:00
Haoyu Qiu 95d861694a Fix several OS_X11 memory leaks 2022-04-26 08:39:55 +08:00
Haoyu Qiu bccd23f4bf Fix memory leak when handling Linux primary clipboard 2022-04-01 21:55:53 +08:00
ConteZero 59fb6c9ef0 Fix X11 is_window_maximized 2022-03-31 23:10:32 +02:00
Rémi Verschelde 6c2bd12031 Revert "Fix detected leaks/heap-use-after-free by AddressSanitizer at startup"
This reverts commit 3f94ea6271.

It broke `detect_prime`'s main purpose which is to detect GPUs and use
the best one available.
2022-03-15 09:34:57 +01:00
ConteZero 2ff0735329 Added primary clipboard for Linux 2022-03-14 15:28:36 +01:00
Rémi Verschelde 3f08b72361
Merge pull request #56036 from Rubonnek/fix-startup-leaks-and-use-after-free 2022-03-13 18:09:55 +01:00
Hugo Locurcio cec7c908ca
Add `get_screen_refresh_rate()` to OS
This method can be used to get the refresh rate of a given screen.
It is supported on Windows, macOS, Linux, Android and iOS (but not
HTML5).
2022-03-10 22:10:48 +01:00
Rémi Verschelde 8975470bc2
Merge pull request #58336 from maiself/fix-directory-delete-linux-3.x 2022-03-10 21:29:55 +01:00
Haoyu Qiu 9d6f4a76d1 Fix X11 memory leak after drag & drop file into the editor 2022-03-04 17:50:28 +08:00
Mai Lavelle 2c00b90613 Fix deleting of directories on Linux
Trailing slash of directories was mishandled, and incorrect derived paths
were formed. Stripping the slash fixes this.
2022-02-20 08:43:44 -05:00
Hugo Locurcio 7f9e974a8b
Add an `OS.get_processor_name()` method
This method can be used to get the CPU model name.
It can be used in conjunction with
`VisualServer.get_video_adapter_name()` and
`VisualServer.get_video_adapter_vendor()` for annotating benchmarks
and automatic graphics quality configuration.
2022-02-16 18:39:02 +01:00
Rémi Verschelde 7a16bb2ee4
Fix typos with codespell
Using codespell 2.2-dev from current git.

Added `misc/scripts/codespell.sh` to make it easier to run it once in a
while and update the skip and ignore lists.

(cherry picked from commit 1bdb82c64e)
2022-02-11 09:50:59 +01:00
Rémi Verschelde f50c7f7415
Core: Move generated `VERSION_HASH` to a `.cpp` file
This lets us have its definition in `core/version.h` and avoid
rebuilding a handful of files every time the commit hash changes.

(cherry picked from commit 90162851a7)
2022-02-10 13:06:56 +01:00
Haoyu Qiu f8afd16c89
Fix memory leak when move to trash fails on Linux
(cherry picked from commit 8be49838b3)
2022-01-25 18:55:52 +01:00
Rémi Verschelde ed869729ae
Merge pull request #56755 from madmiraal/fix-45592-3.x 2022-01-24 10:06:24 +01:00
Rémi Verschelde 879244c54e
Merge pull request #56015 from bruvzg/phy_code_conv 2022-01-16 11:36:26 +01:00
Marcel Admiraal 949ea2b326 Simplify InputDefault::joy_axis code by using float instead of struct JoyAxis 2022-01-14 15:36:35 +00:00
Rémi Verschelde a627cdafc5
Update copyright statements to 2022
Happy new year to the wonderful Godot community!
2022-01-13 15:54:13 +01:00
Marcel Admiraal b7545631de Use mouse event relative motion to calculate mouse speed 2022-01-13 10:29:57 +00:00
bruvzg 6f81a8ee2c
Fix multiple missing UTF-8 decoding.
(cherry picked from commit c69e0d16bc)
2022-01-06 21:44:40 +01:00
Marcel Admiraal 913855926d Fix tablet tilt values returning bad values 2022-01-02 12:16:04 +00:00
Wilson E. Alvarez 3f94ea6271
Fix detected leaks/heap-use-after-free by AddressSanitizer at startup 2021-12-17 15:12:55 -05:00
Wilson E. Alvarez 1b8a9d56b3
Set default priority on PRIME detection vendor struct. 2021-12-17 15:12:17 -05:00
bruvzg b4ec1c5817
Backport: Allow for mapping scancodes to current layout
Co-authored-by: Frixuu <kontakt@lukasz.xyz>
2021-12-17 13:04:47 +02:00
Daniel Kolesa 5fe78a3a25
Add support for PowerPC family
(cherry picked from commit 3a84a64d2f)
2021-11-15 17:22:46 +01:00
Rémi Verschelde 1f8497d281
Merge pull request #53411 from RandomShaper/ubershaders_3.x 2021-11-09 13:12:44 +01:00
Pedro J. Estébanez abdf931832 Add off-screen GL context 2021-11-09 12:19:12 +01:00
Rémi Verschelde c7c592f832
Merge pull request #54314 from nekomatata/x11-events-log-3.x 2021-11-09 00:03:39 +01:00
Rémi Verschelde 2c47e33905
Merge pull request #54313 from nekomatata/x11-fix-input-delay-3.x 2021-11-02 08:53:06 +01:00
robfram 2c8014e565 Exclude atomic lib under FreeBSD using LLVM 2021-10-29 18:24:57 +02:00
Rémi Verschelde 1b65550ec7
clang-format: Various fixes to comments alignment from `clang-format` 13
All reviewed manually and occasionally rewritten to avoid bad auto formatting.
2021-10-28 14:50:32 +02:00
Rémi Verschelde 42d385b312
clang-format: Disable alignment of operands, too unreliable
Sets `AlignOperands` to `DontAlign`.

`clang-format` developers seem to mostly care about space-based indentation and
every other version of clang-format breaks the bad mismatch of tabs and spaces
that it seems to use for operand alignment. So it's better without, so that it
respects our two-tabs `ContinuationIndentWidth`.
2021-10-28 13:23:38 +02:00
PouleyKetchoupp 2a638a9cdf Add X11 events logging for debug purpose
Compiled out by default, just to be used for debugging local builds.
2021-10-27 10:37:46 -07:00