Rémi Verschelde
8b93b67e14
Merge pull request #106315 from Riteo/popping-up-everywhere
...
Wayland: Fix error spam when closing popup
2025-05-13 01:05:49 +07:00
Riteo
c3b04e6e1e
Wayland: fix error spam when closing popup
...
Previously we did not check whether the value actually changed or not
and thus would get constant errors for no reason.
2025-05-12 05:11:24 +07:00
Pāvels Nadtočajevs
5441a82cfb
Do not call `accessibility_set_window_rect` on Wayland, fix main windows accessibility context creation.
2025-05-11 12:51:46 +07:00
Rémi Verschelde
e9e8ddc5be
Linux: Fix build with `dbus=no` or `threads=no`
2025-05-09 15:26:13 +07:00
Rémi Verschelde
a6398d71a3
Improve script backtrace print in crash handlers
...
Also fix the editor crash handler message for bug reports not properly
using the `.editor` override.
2025-05-07 09:52:50 +07:00
Thaddeus Crews
4cb030d6bf
Merge pull request #106089 from mihe/rogue-newlines
...
Fix empty lines being added for errors with no script backtrace
2025-05-06 08:38:04 +07:00
Mikael Hermansson
31b90246e7
Fix empty lines being added for errors with no script backtrace
2025-05-05 13:27:21 +07:00
Riteo Siuga
d4dabd15aa
Wayland: Ensure pointed window's existence in mouse_get_position
...
Should fix a crash with certain compositors.
2025-05-03 20:24:44 +07:00
Thaddeus Crews
01fc9aee6c
Core: Modernize C headers with C++ equivalents
2025-05-02 08:23:01 +07:00
tthhr
e7a3729175
fix:Compile error in wayland display server when compiling linuxbsd platform after disabling dbus
2025-04-30 14:22:52 +07:00
Adam Scott
1fbc0c5631
[Buildsystem] Add `EnumVariable(ignorecase=2)`
2025-04-29 13:35:40 +07:00
Thaddeus Crews
3947cbe3b2
Merge pull request #104386 from Repiteo/core/cpp-math
...
Core: Replace C math headers with C++ equivalents
2025-04-27 19:21:22 +07:00
Thaddeus Crews
2bf7184ed9
Merge pull request #103865 from Repiteo/scons/__has_include
...
SCons: Remove `check_c_headers`
2025-04-25 11:36:06 +07:00
Thaddeus Crews
041c69db2f
Merge pull request #101454 from Riteo/fifo_ftw
...
Wayland: Handle `fifo_v1` and clean up suspension logic
2025-04-25 11:36:04 +07:00
Thaddeus Crews
007717faf9
SCons: Remove `check_c_headers`
...
• Can instead check for headers directly with `__has_include`, a C++17 feature
2025-04-25 11:30:39 +07:00
Pāvels Nadtočajevs
e61edcadb8
Print script backtrace in the crash handler.
2025-04-25 09:15:20 +07:00
Riteo Siuga
48882f3ca4
Wayland: Handle fifo_v1 and clean up suspension logic
...
Before, the WSI was unfortunately quite broken and we had work around it
by manually pacing frames. Needless to say it was not an ideal solution.
Now, the WSI can make use of the new fifo_v1 protocol to work properly.
If it's available, we'll trust the WSI by disabling manual frame pacing.
While we're at it, let's clean up the suspension code a bit by removing
some duplicated stuff and handling the suspension state through a switch
case.
2025-04-20 18:05:35 +07:00
Riteo
2e41412ee4
Wayland: Emulate frame event for old wl_seat versions
...
Multiwindow support simplified input handling by processing all data
only during a `wl_seat::frame` event, which got introduced in wl_seat
version 5. If the compositor reports an older version, we manually call
the frame event handler.
2025-04-20 17:11:08 +07:00
Thaddeus Crews
ad40939b6f
Core: Replace C math headers with C++ equivalents
...
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 +07:00
Pāvels Nadtočajevs
5ddaaa93e6
Fix X11 boot splash scaling.
2025-04-16 10:45:43 +07:00
Thaddeus Crews
0d267e7b1e
Core: Add dedicated `BitField` template
2025-04-11 11:53:26 +07:00
Thaddeus Crews
cad0cd94ef
Merge pull request #105225 from bruvzg/ds_gdsoft
...
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 16:53:42 +07:00
Thaddeus Crews
cade15a163
Merge pull request #92475 from AThousandShips/string_replace_char
...
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 10:18:16 +07:00
Thaddeus Crews
722ddf6e6f
Merge pull request #103802 from Rindbee/set-unsupported-to-true-on-error-in-FreeDesktopScreenSaver
...
Set `unsupported` to true on error in `FreeDesktopScreenSaver`
2025-04-10 10:18:14 +07:00
A Thousand Ships
889410dcda
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 13:08:45 +07:00
Pāvels Nadtočajevs
0497522933
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 09:18:58 +07:00
Thaddeus Crews
7a6c3b309f
Merge pull request #105130 from bruvzg/uri_fix_plus
...
Add uri_file_decode to handle + in file names.
2025-04-09 18:11:56 +07:00
Thaddeus Crews
a8598cd8e2
Merge pull request #71542 from bruvzg/export_project_settings
...
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-09 08:51:47 +07:00
Thaddeus Crews
4362b11557
Merge pull request #103405 from van800/shakhov/macosx
...
Fix `.sln` project generation logic for Rider to support all OS and all C++ toolchains
2025-04-09 08:51:45 +07:00
bruvzg
c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-08 21:22:37 +07:00
Thaddeus Crews
295c0f5bd2
Merge pull request #105129 from Riteo/soft-serve
...
Wayland: Fix error spam for closed windows
2025-04-08 12:32:48 +07:00
Thaddeus Crews
e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
...
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 +07:00
Pāvels Nadtočajevs
4310cb82b8
AccessKit integration for macOS, Linux, and Windows.
2025-04-08 20:25:47 +07:00
Ivan Shakhov
6ff86e49cf
Fix .sln project generation logic for Rider to support all OS and all C++ toolchains
...
Co-authored-by: Andreia Gaita <shana@spoiledcat.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-04-08 15:40:05 +07:00
Pāvels Nadtočajevs
9abe2e5294
Add `uri_file_decode` to handle `+` in file names.
2025-04-07 23:49:17 +07:00
Riteo
36d96f7f37
Wayland: Fix error spam for closed windows
...
I ported the new softclass macro too blindly. Apparently the various
window messages did not cast properly, skipping some important "deleted
window" checks.
2025-04-07 20:22:08 +07:00
Pāvels Nadtočajevs
f37fb49739
Add separate `minimize_disabled` and `maximize_disabled` window flags.
2025-04-07 18:58:11 +07:00
Riteo
84d3adcf2f
Wayland: Implement native sub-windows
...
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:
- `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;
- `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;
- `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.
Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:
- Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;
- A proper implementation of `window_can_draw`;
- Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.
- Better handling of pointer leaving and pointer enter/exit event
sending;
- Keyboard focus tracking;
- More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;
- More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +07:00
Pāvels Nadtočajevs
52009b52d2
Detect KDE/LXQt and swap OK/Cancel buttons to Windows style.
2025-04-03 12:47:11 +07:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 +07:00
Thaddeus Crews
f25fc34439
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:29:08 +07:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +07:00
Pāvels Nadtočajevs
4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set.
2025-04-01 15:24:46 +07:00
Thaddeus Crews
abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
...
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 +07:00
Lukas Tenbrink
fa0a3c9c6e
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 20:49:50 +07:00
Kiro
23129a66ed
Replace append_utfx with direct String::utfx
2025-03-30 19:56:38 +07:00
Lukas Tenbrink
ffa6ef220b
Use `append_` instead of `parse_` for `String` methods.
2025-03-27 17:51:02 +07:00
Thaddeus Crews
d35e22ff22
Merge pull request #104415 from zlago/patch-1
...
Export: Change unportable `echo` in the Linux/macOS debug launcher script
2025-03-24 10:00:57 +07:00
Thaddeus Crews
f09ee0171a
Style: Begin integrating simple `.clangd` fixes
2025-03-22 13:24:35 +07:00
zlago
7e0ede1a16
change unportable `echo` in the linux/macos debug launcher script
...
`-n` and `-e` are not guaranteed to be supported by posix `echo`
2025-03-21 17:31:37 +07:00
Micky
5d794f83ed
Tweak a few miscellaneous localization strings
2025-03-20 13:12:44 +07:00
Pāvels Nadtočajevs
f6891b0305
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init.
2025-03-19 11:23:04 +07:00
Thaddeus Crews
49fcd4ce46
Merge pull request #101546 from bruvzg/portal_color_picker
...
[Linux] Implement native color picker.
2025-03-17 10:52:29 +07:00
Pāvels Nadtočajevs
18f6c33d72
[DisplayServer] Implement `get_accent_color` on Linux.
2025-03-14 09:05:03 +07:00
Rémi Verschelde
28451c001a
Merge pull request #103815 from bruvzg/x11_fd_cond
...
[X11] Fix native dialog parent selection condition.
2025-03-14 00:08:45 +07:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 +07:00
Thaddeus Crews
991d01fb52
Merge pull request #103891 from shahriarlabib000/update_readme
...
Update logo/run icon path in platform READMEs
2025-03-10 21:05:55 +07:00
A Thousand Ships
331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 13:19:28 +07:00
风青山
456261cd7e
Fix cannot input Chinese after restarting the input method on X11
...
Register a callback via `XRegisterIMInstantiateCallback()` to detect
whether the input method is available again.
2025-03-10 17:18:02 +07:00
shahriarlabib000
25a8b808d3
update logo/run icon path in README
2025-03-10 12:03:41 +07:00
风青山
7fd154c4b4
Set `unsupported` to true on error in `FreeDesktopScreenSaver`
...
This avoids possible memory leaks when the editor exits.
2025-03-09 11:10:27 +07:00
A Thousand Ships
466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-08 20:36:37 +07:00
Pāvels Nadtočajevs
fe38504aa0
[X11] Fix native dialog parent selection condition.
2025-03-08 16:28:25 +07:00
Thaddeus Crews
324512e11c
Style: Replace header guards with `#pragma once`
2025-03-07 17:33:47 +07:00
Thaddeus Crews
3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
...
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 +07:00
Thaddeus Crews
c937b6d180
Merge pull request #102419 from Ivorforce/std-size
...
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 +07:00
Thaddeus Crews
d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
...
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 +07:00
Thaddeus Crews
dadfcd1ff2
Merge pull request #95776 from Calinou/crash-handler-linuxbsd-simplify-file-path
...
Simplify the printed file paths in the Linux/*BSD crash handler
2025-03-07 15:12:10 +07:00
bruvzg
3e4e6e6c0c
Improve native file dialog parent window selection.
2025-03-06 17:15:39 +07:00
Thaddeus Crews
1f2d135444
Merge pull request #103526 from jamie-pate/fix_103522
...
Fix check for is_maximized in x11 to require both horizontal and vert
2025-03-05 12:07:41 +07:00
Pāvels Nadtočajevs
6ed12bfc5d
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-04 13:18:26 +07:00
Jamie Pate
4f14f722b8
Fix check for is_maximized in x11 to require both horizontal and vertical
...
Fixes #103522
Persistent window state doesn't work if your window is 'tiled' in X11
gnome
3.x checks for `horz && vert`
4396e98834/platform/x11/os_x11.cpp (L1708)
4.x also checked `horz && vert` until this change where it was switched
to `horz || vert`
524f061c01 (diff-05f85bc3bf96d384f6b96260c758e63e10bbdd52b04f8ccb34649372e7bc1f48R1382)
The corrected logic is:
Check `horz && vert` for 'is_maximized'
Check `horz || vert` for 'can_maximize'
2025-03-03 15:45:21 +07:00
Hilderin
0c384e7217
Replace error to info messages for embedded game
2025-02-26 19:32:25 +07:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-24 19:40:10 +07:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 +07:00
Pāvels Nadtočajevs
f710781b16
Prevent pending input event callbacks from erasing the window in the middle of a loop.
2025-02-18 15:26:13 +07:00
Rémi Verschelde
a8a1009468
Merge pull request #102641 from Riteo/modifying-spacetime-itself
...
Wayland: Unstuck keys with same keycode
2025-02-11 23:59:12 +07:00
Riteo
54755a27e9
Wayland: Unstuck keys with same keycode
...
This fixes once and for all the core issue of different Godot `keycode`s
released from the same raw XKB keycode.
The `InputEventKey` `keycode` value _should_ map to the "unmodified"
key, but unfortunately there's an ambiguity with their encoding for
"special" keys ("delete", "insert", etc.), in witch they ignore their
unicode representation. This means that a key that is special when plain
but a character when modified would never be properly picked up, so we
do indeed change its keycode. As a consequence of this exception, some
Godot keys never receive release events and get "stuck".
This patch adds an extra check through an `HashMap` to "unstuck" keys
that changed while having the same keycode.
I also could not resist simplifying a bit the regular key event
generation method but this makes things more consistent and predictable
IMO.
2025-02-11 13:16:16 +07:00
Rémi Verschelde
e912241f4d
Merge pull request #102674 from Riteo/waiting-for-frame
...
Wayland: Fix engine stalls while waiting frames
2025-02-11 10:54:28 +07:00
Riteo
cbd68eb403
Wayland: Fix engine stalls wihle waiting frames
...
There were two edge cases in the frame waiting logic (aka manual frame
throttling or emulated vsync) which would cause the editor to stall in
one way or another:
1. Waiting right after starting the editor would cause a deadlock
between both threads until something happened in the Wayland event
queue, in turn unblocking the Wayland thread and kickstartin the whole
thing;
2. Starting the editor (and probably other long-loading stuff) without
low consumption mode would suspend the window and never commit its
surfaces, thus never signaling the compositor that we want frame events.
2025-02-11 01:33:36 +07:00
Rémi Verschelde
19a30bb723
Wayland: Fix build config with `so_wrap` disabled
...
We should only include the vendored headers for Wayland and libdecor-0 when
we use `so_wrap`, i.e. when we *don't* build against system libraries.
The libdecor-0 pkg-config file includes the `libdecor-0/` prefix already,
so its header should be included without it, and likewise in our so wrappers.
Fixes #102671 .
2025-02-10 21:42:25 +07:00
Adam Scott
1376828ef6
Fix `fr+oss` layout issues with KP period
...
Co-authored-by: Riteo Siuga <riteo@posteo.net>
2025-02-08 17:17:11 +07:00
Lukas Tenbrink
e34f1f504c
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-02-07 14:57:48 +07:00
Hilderin
a3d03717c0
Fix Floating Window request close when a dialog is opened
2025-02-05 20:34:32 +07:00
Thaddeus Crews
a63a8b430b
Merge pull request #102104 from Hilderin/fix-embedded-game-disappear-when-not-focused
...
Fix Embedded Game disappear when not focused on KDE 5
2025-02-05 10:27:38 +07:00
Thaddeus Crews
a2d6e2e138
Merge pull request #102448 from adamscott/a-miserable-little-pile-of-secrets
...
Add `XK_KP_{Decimal,Enter}` to `KeyMappingX11::is_sym_numpad()`
2025-02-05 10:27:30 +07:00
Adam Scott
e34e127062
Add `XK_KP_{Decimal,Enter}` to `KeyMappingX11::is_sym_numpad()`
2025-02-05 10:54:46 +07:00
Hilderin
f7d1558bc0
Fix Embedded Game disappear when not focused on KDE 5
...
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-02-05 12:01:40 +07:00
Rémi Verschelde
b4e16b4520
Merge pull request #102314 from Hilderin/fix-floating-window-overlapping
...
Fix Floating Window overlapping when on screen edge on KDE
2025-02-05 11:34:05 +07:00
Rémi Verschelde
ab0c712bf5
Merge pull request #102311 from Hilderin/fix-floating-window-not-visible-after-restore
...
Fix Floating Window not visible after restore on KDE
2025-02-05 11:34:01 +07:00
Pāvels Nadtočajevs
05ca80632d
[Linux] Implement native color picker.
2025-02-03 16:30:44 +07:00
Thaddeus Crews
480843cf2b
Merge pull request #101812 from bruvzg/portal_chk
...
[FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available.
2025-02-03 08:16:10 +07:00
Thaddeus Crews
d2995dcfe8
Merge pull request #102169 from Riteo/what-is-even-a-keypad
...
Linux/BSD: Modify only keypad keys
2025-02-03 08:16:08 +07:00
Riteo
140a63be25
Linux/BSD: Modify only keypad keys
...
The `keycode` field of `InputEventKey` is supposed to be "unshifted";
That is, what the key would output if no modifier keys were pressed.
This should match what's written on the key label, but `Key` enumerates
also all keypad keys, which require a modifier. We thus require some
extra checks for them.
Note that this can still allow "stuck keys", but that's an even deeper
problem.
2025-02-02 19:19:15 +07:00
Hilderin
bc0efb86a9
Fix Floating Window overlapping when on screen edge
2025-02-01 22:27:57 +07:00
Hilderin
150191353f
Fix Floating Window not visible after restore on KDE
2025-02-01 21:08:39 +07:00
Thaddeus Crews
4f3dddbbff
Merge pull request #101987 from Riteo/imagine-using-rids
...
Wayland: Check custom cursor resource reference for cache invalidation
2025-01-31 09:15:52 +07:00
Pāvels Nadtočajevs
86f56efbaa
[FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available.
2025-01-31 07:52:40 +07:00
Thaddeus Crews
3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
...
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 +07:00
Adam Scott
47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
...
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 +07:00
Hilderin
725dd4930e
Fix BadWindow error when stopping embedded game on Linux
2025-01-25 20:30:40 +07:00
Riteo
c8087567c9
Wayland: Check custom cursor resource reference for cache invalidation
...
Images don't have RIDs and this way of checking stuff broke the cursor
cache. Let's do like all other platforms and check the resource
reference instead.
2025-01-24 15:10:46 +07:00
Thaddeus Crews
f1c0b5b854
Merge pull request #101779 from Riteo/primary-mess
...
Wayland: Check selection devices before using them
2025-01-22 09:19:30 +07:00
Hilderin
9eed43d429
Fix NOTIFICATION_WM_CLOSE_REQUEST in Embedded Floating Window
2025-01-21 21:03:15 +07:00
Riteo
d12137bdda
Wayland: Pass unmodified symbols to key events
...
Before this change we would internationalize the keycode itself in all
`InputEventKey`s, confusing the whole input subsystem.
2025-01-20 18:27:04 +07:00
Riteo Siuga
bed2a1927f
Wayland: Check selection devices before using them
...
Looks like we never actually stopped the code from using bad pointers.
I even forgot the check in the primary selection code 🤦
2025-01-20 02:13:45 +07:00
Riteo Siuga
368a59e6f9
Wayland: Release pressed events on application focus out
...
Looks like I always assumed wrongly that the compositor would send us
key release events when unfocusing... It did not.
2025-01-20 01:38:25 +07:00
Lukas Tenbrink
512abc38b2
Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition.
2025-01-17 17:31:58 +07:00
Pāvels Nadtočajevs
133ea4f17a
[Wayland] Fix excessive IME updates.
2025-01-17 15:29:06 +07:00
Thaddeus Crews
fd88acc671
Merge pull request #101008 from Repiteo/scons/nocache-all-text
...
SCons: Properly `NoCache` all text files
2025-01-16 17:17:59 +07:00
Thaddeus Crews
73278bf35d
SCons: Properly `NoCache` all text files
2025-01-16 16:59:12 +07:00
Travis Lange
d713a22f2e
fix wayland can set mode exclusive full screen
2025-01-14 20:21:52 +07:00
Pāvels Nadtočajevs
2e99d84e87
[DisplayServer] Add missing `FEATURE_WINDOW_DRAG` flag to Windows, X11 and Wayland display servers.
2025-01-14 15:26:32 +07:00
Rémi Verschelde
26db0bb15f
SCons: Make `lto=auto` prefer ThinLTO over full LTO for LLVM targets
...
This speeds up build time considerably for these platforms compared to
using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC.
Changes to default behavior of `lto=auto` (i.e. `production=yes`):
- Linux: Prefer ThinLTO for LLVM
- Web: Prefer ThinLTO
- Windows: Prefer ThinLTO for llvm-mingw
The following LLVM targets don't use LTO by default currently, which
needs to be assessed further (gains from LLVM LTO on performance need
to be weighed against the potential size increase from heavy inlining):
- Android
- iOS
- macOS
- Windows clang-cl
2025-01-09 13:03:58 +07:00
Rémi Verschelde
65cf7c1d5e
Merge pull request #101221 from bruvzg/win_dec_exp
...
[Window] Expose `start_drag` and `start_resize` methods (for both native and embedded windows).
2025-01-09 11:17:24 +07:00
Rémi Verschelde
7fe0609118
Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
...
This restriction was added to fix #7373 back then, which was a symbol conflict
between FreeType's bundled copy of gzip/zlib, and distro packages.
But we also unbundled FreeType's zlib in #69395 so this is no longer an issue.
On the other hand recent issues pointed out that using system-provided icu4c
or harfbuzz can cause issues (#91401 , #100301 ). We still allow it for now but
raise a warning.
2025-01-09 00:28:46 +07:00
Riteo
e5ac45e822
Wayland: Unsuspend only for the same reason as suspension
...
Before, we would check both methods together, leading to loops.
Now we track the actual reason we suspended and only unsuspend when
that same reason triggers. For example, if we suspend because of the
suspended flag we'll unsuspend only because it got unset. Conversely, if
we suspend because of a timeout we'll unsuspend only if we get a new
frame event.
We do this because, while some compositors properly report a "suspended"
state (hinting us to stop repainting), most don't and we need a "safety
net" anyways as we do not want to constantly stay at 1fps (the max time
we'll wait before giving up) either.
2025-01-08 13:53:01 +07:00
Rémi Verschelde
cecc83d26a
Merge pull request #101225 from Summersay415/arch-docs
...
Update official export templates architecture list in docs
2025-01-08 00:21:07 +07:00
Rémi Verschelde
0fee2724f0
Merge pull request #100751 from YYF233333/force_regex_with_editor
...
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +07:00
Pāvels Nadtočajevs
8d911b2554
[Window] Expose `start_drag` and `start_resize` methods (for both native and embedded windows).
2025-01-07 23:35:14 +07:00
Summersay415
f6d22da94b
Update official export templates architecture list in docs
2025-01-07 20:28:25 +07:00
Yufeng Ying
34d8255947
Force build editor with regex module, remove checking code.
...
Fix include.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +07:00
Pāvels Nadtočajevs
7f0b4e58b0
Implement `DisplayServer.window_start_resize`.
2025-01-07 07:58:02 +07:00
Rémi Verschelde
cc32e46360
Merge pull request #101135 from Hilderin/fix-embedding-not-working-intermittently
...
Fix embedding failing intermittently
2025-01-06 22:49:05 +07:00
Rémi Verschelde
44f871ff72
Merge pull request #100898 from Summersay415/wayland-issue
...
Fix exclusive fullscreen on Wayland
2025-01-06 22:47:53 +07:00
Rémi Verschelde
e06cac212b
Merge pull request #99893 from kiroxas/avoidUTF8ParsingWhenNotNecessary
...
Avoid duplicated `utf8()` calls
2025-01-06 22:47:12 +07:00
Hilderin
2f061df7b0
Fix embedding not working intermittently
2025-01-06 08:04:57 +07:00
Pāvels Nadtočajevs
e1f129cb52
Support MIME types in file dialog filters on macOS and Linux.
2025-01-04 22:05:35 +07:00
Rémi Verschelde
35cf29bb21
Merge pull request #100715 from buresu/fix-wayland-ime-input
...
Fix last character deletion in Wayland IME input
2025-01-03 00:48:55 +07:00
Summersay415
8c1742c957
Fix exclusive fullscreen on Wayland
2025-01-02 21:49:49 +07:00
Thaddeus Crews
3994e561ea
Merge pull request #100827 from OS-of-S/fixed-mold-search
...
Fix Mold-search in older systems
2024-12-30 08:58:49 +07:00
OS-of-S
b9f0e0cfa3
Fixed Mold-search in older systems
2024-12-28 13:49:56 +07:00
A Thousand Ships
a1846b27ea
Improve use of `Ref.is_null/valid`
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 +07:00
Naoto Kondo
b719eed725
Fix last character deletion in Wayland IME input
2024-12-22 05:52:03 +07:00
Rémi Verschelde
13274842a9
Merge pull request #100638 from Tiktalik/fixed-wayland-horizontal-scroll
...
Fix Wayland left/right scroll wheel issues.
2024-12-20 23:57:16 +07:00
Rémi Verschelde
eaed664bce
Merge pull request #100637 from bruvzg/unset_fw
...
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +07:00
Tiktalik
fb741715c1
Fixed incorrect use of vertical scroll where it should have been horizontal.
2024-12-20 00:53:10 +07:00
Pāvels Nadtočajevs
73faa509ea
Unset last focused window when it is destroyed.
2024-12-20 09:40:25 +07:00
Kiro
06efe84bca
Remove duplicate `utf8()` calls
2024-12-19 10:15:46 +07:00
Hilderin
9d2a4c03be
Embedding game process in editor
2024-12-18 17:52:42 +07:00
Rémi Verschelde
4e46e8beb7
Merge pull request #100464 from bruvzg/start_drag_port
...
Implement `window_start_drag` on Windows and Linux.
2024-12-18 00:39:56 +07:00
Fredia Huya-Kouadio
2d3f6963b2
Update the visibility for the custom templates for all platforms
...
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 +07:00
Rémi Verschelde
182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
...
SCons: Improve colored output
2024-12-17 16:18:41 +07:00
Pāvels Nadtočajevs
293be04ec8
Implement `window_start_drag` on Windows and Linux.
2024-12-17 16:49:27 +07:00
Hilderin
4e19ab8afe
Fix connecting a signal with a double click is too difficult
...
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2024-12-14 16:18:34 +07:00
HP van Braam
dbbacf3d0e
Regenerate X11 wrappers with dynload-wrapper 0.7
...
Dynload-wrapper 0.7 introduces the --include-dir option which lets us restrict
what headers are considered for generation.
In this case it removes the `XFreeThreads` Xlib function which does not
exist on Ubuntu 22.04 and older.
2024-12-12 14:57:26 +07:00
Thaddeus Crews
38775731e8
Merge pull request #99965 from Riteo/unstable-galore
...
Wayland: Add support for xdg-foreign-unstable-v2
2024-12-11 17:36:07 +07:00
Thaddeus Crews
6cbf7c77c2
Merge pull request #100150 from ArchercatNEO/homeless-export
...
Use temp dirs instead of cache dirs for export
2024-12-10 14:15:54 +07:00
Thaddeus Crews
f222cc43f3
Merge pull request #99633 from buresu/fix-wayland-keymapping
...
Fix underscore input not working with jp106 keyboard on wayland platform
2024-12-10 14:15:51 +07:00
Thaddeus Crews
d8761f2c79
SCons: Improve colored output
2024-12-10 11:44:48 +07:00