Commit Graph

1135 Commits

Author SHA1 Message Date
Thaddeus Crews
0aa77895ac Merge pull request #114521 from mxtherfxcker/fix/ui-freezes-when-opening-file-manager-on-linux
LinuxBSD: Fix UI freeze when opening file manager
2026-02-05 09:32:38 -06:00
Thaddeus Crews
65e79f33cb Merge pull request #115823 from deralmas/what-the-fd
Wayland Embedder: Fix FD leak with inert objects
2026-02-05 09:32:34 -06:00
Thaddeus Crews
79eb6694a1 Merge pull request #112381 from Ivorforce/no-right-align
Don't right-align escaped newlines (e.g. for `#define`)
2026-02-05 09:18:36 -06:00
Lukas Tenbrink
c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Sertonix
cdafcefb6b Fix missing lib with builtin_glslang=false
The `GetDefaultResource` function is in separate library file.
2026-02-03 20:45:13 +01:00
Dery Almas
6e5d1e00e0 Wayland Embedder: Fix FD leak with inert objects
Freshly deleted objects are temporarily "inert" until their destruction
is acknowledged by the compositor.

Inert objects are ignored. By doing so, we mistakenly returned too
early and missed some FD cleanup logic. This patch ensures that any
outstanding FDs are always closed by moving its logic outside of the
message handling routine.
2026-02-03 16:26:56 +01:00
Thaddeus Crews
5853d99984 Merge pull request #114930 from KoBeWi/if_it's_runnable_can_it_run_doom
Move runnable out of export preset
2026-01-28 17:58:25 -06:00
Nintorch
eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
Thaddeus Crews
ed0ae97d98 Merge pull request #114922 from DarioSamo/android-platform-gl3-fallback-fix
Fix fallback to OpenGL3 from Vulkan initialization on Android.
2026-01-27 09:04:14 -06:00
Thaddeus Crews
47b1b9ef69 Merge pull request #114947 from AThousandShips/fix_debugsymbols_linux
[Linux] Handle debug symbols with renamed executable
2026-01-27 09:04:08 -06:00
Dery Almas
27b1916465 Wayland: Update popup scale information on creation
Popups start with their size and position already scaled based on the parent.
We forgot to update the popup's scale itself, leading to a double-scale.
2026-01-22 06:28:27 +01:00
Rémi Verschelde
a1e209b7fe Merge pull request #115090 from deralmas/wayland-ime-bruh-moment
Wayland: Fix IME
2026-01-19 10:46:13 +01:00
Dery Almas
3a2a53f901 Wayland: Fix IME
The spec tells us to ignore certain events if we didn't get an `enter`
event first. Certainly we need to at least acknowledge the `enter` event
itself 😅
2026-01-18 09:47:23 +01:00
Dario
542f8ddf22 Fix fallback to OpenGL3 from Vulkan initialization on Android. 2026-01-14 23:55:21 -03:00
A Thousand Ships
4e8cba2d22 [Linux] Handle debug symbols with renamed executable
GNU debug link expects the file to have the same name as when compiled,
same solution as on Windows.
2026-01-14 14:23:51 +01:00
Dery Almas
8a448032c2 Wayland: Allow non-interactive window resizing
Despite what I thought in the past, it is allowed, as long as we follow
certain limitations depending on the toplevel's state.

As usual I peppered the code with comments expaining what those
limitations are.

Regarding popups, AFAICT there are no major limitations, although we
should eventually use the new `reposition` method, which autoadjusts the
popup to follow the screen's borders and whatnot. I didn't do that in
this patch as it requires some elbow grease, especially if we want to do
it synchronously.
2026-01-14 11:20:06 +01:00
kobewi
91cc70f280 Move runnable out of export preset 2026-01-13 19:32:33 +01:00
Rémi Verschelde
38293c4d39 Merge pull request #114820 from AR-DEV-1/114652
X11: Allow moving a fullscreen/maximized window to another screen/display
2026-01-13 11:06:34 +01:00
Rémi Verschelde
571c574f96 Merge pull request #113950 from deralmas/wl-misc-fixes/not-listening
Wayland: Ignore IME events without a valid window
2026-01-13 11:06:00 +01:00
Rémi Verschelde
865dbfc2fb Merge pull request #113949 from deralmas/wl-misc-fixes/too-much-debugging
Wayland: Remove `GODOT_DEBUG_EMBEDDER_SINGLE_INSTANCE` debug option
2026-01-13 11:05:54 +01:00
AR
cc71d5a2be X11: Allow moving a fullscreen/maximized window to another screen/display 2026-01-13 09:52:07 +01:00
Ville Baillie
e02b117af7 wayland_embedder.cpp: fix duplicated-branches error 2026-01-08 19:01:33 +00:00
Riteo Siuga
33a48f1387 Wayland: Track popup menu mouse mask properly
We were updating `last_mouse_monitor_mask` only if there were popup
menus open, which is obviously wrong.
2026-01-03 21:48:18 +01:00
mxtherfxcker
d78857b53e LinuxBSD: Fix UI freeze when opening file manager 2026-01-02 16:42:24 +03:00
Chestnut45
3be85a8614 Lower timeout in X11 event thread to fix input delay issue 2025-12-18 15:01:48 -04:00
Rémi Verschelde
0509500a9f Merge pull request #114081 from deralmas/thirdparty/libdecor/0.2.5
libdecor: Regenerate dynamic wrapper
2025-12-17 13:58:46 +01:00
Dery Almas
bea572fc00 libdecor: Regenerate dynamic wrapper 2025-12-17 13:17:14 +01:00
Riteo
0e21840973 Wayland: Add environment variable to disable libdecor loading
Libdecor has some quirks and depending on the setup it might be useful
to switch to the xdg-shell branch. Recompiling the whole engine without
libdecor is not an acceptable way to do that.
2025-12-16 19:12:49 +01:00
Rémi Verschelde
3e2f769ddf Merge pull request #113947 from deralmas/wl-misc-fixes/cleanup-forgor
Wayland: Add missing destroy calls for text input and tablet
2025-12-16 11:26:53 +01:00
Rémi Verschelde
d84a8a63fa Merge pull request #113946 from deralmas/wl-misc-fixes/mfw-mutating-a-copy
Wayland: Fix accidental copy during global remove
2025-12-16 11:26:47 +01:00
Rémi Verschelde
5d5db072f3 Merge pull request #113656 from deralmas/gray-goo-scenario
Wayland: Work around window scale ambiguity
2025-12-16 11:26:42 +01:00
Rémi Verschelde
61b5f80a50 Merge pull request #113256 from deralmas/wl-keyboard-stuff
Wayland: Misc keyboard touchups
2025-12-16 11:26:31 +01:00
Thaddeus Crews
206f1b5a7c Merge pull request #113977 from deralmas/wl-misc-fixes/shhhhh
Wayland: Silence `window_get_wl_surface` on invalid window
2025-12-15 08:01:05 -06:00
Dery Almas
874dd28d66 Wayland: Silence window_get_wl_surface on invalid window
Makes it more consistent with the rest of the `WaylandThread` methods
(so that we can silently check for the window's existence).

Fixes errors when trying to capture the pointer when no surface has been
pointed yet (its logic assumed that this method was silent).

We double-check everywhere anyway but I added it in some places where we
can't either guarantee that it'll check (to avoid segfaults) or that
would be useful to report directly.
2025-12-13 10:10:29 +01:00
Dery Almas
55360ec825 Wayland: Ignore IME events without a valid window
The spec says "After leave event, compositor must ignore requests from
any text input instances until next enter event."

Fixes an error on jay, which at least on 1.11.0 sends
`zwp_text_input_v3::done` after `zwp_text_input_v3::leave`, which we
didn't ignore, leading to a commit without a valid window id.
2025-12-12 19:40:02 +01:00
Dery Almas
a8e1d23855 Wayland: Remove GODOT_DEBUG_EMBEDDER_SINGLE_INSTANCE debug option
This is _extremely_ specific, and was meant to be removed after a review
in the game embedder PR. No idea how it found its way back in.
2025-12-12 19:23:26 +01:00
Dery Almas
1d1cd7cc1a Wayland: Add missing destroy calls for text input and tablet
Thank you Kiisu_Master for finding this!
2025-12-12 19:22:19 +01:00
Dery Almas
b439a71db3 Wayland: Fix accidental copy during global remove
We were accidentally mutating a copy during cleanup of the viewporter
and fractional scale manager.

Thank you Aaron Franke for finding this out :D
2025-12-12 19:06:29 +01:00
Pāvels Nadtočajevs
1251348c96 [Wayland] Implement keyboard_get_label_from_physical 2025-12-10 13:19:35 +02:00
Rémi Verschelde
342ba8063e Merge pull request #112361 from Calinou/export-dedicated-server-no-shader-baker
Disable shader baker when exporting as dedicated server
2025-12-09 19:54:22 +01:00
Thaddeus Crews
e98e8c555a Merge pull request #113341 from DSOE1024/linuxbsd-xfce-exo-open
Implement XFCE support in os_linuxbsd.cpp
2025-12-08 11:53:52 -06:00
DSOE1024
b982794b23 Implement XFCE support in os_linuxbsd.cpp
Added support for XFCE by executing 'exo-open' alongside 'kde-open'.
Refactor error handling in os_linuxbsd.cpp
2025-12-08 21:21:45 +08:00
Berke Güzel
48c50bacba Wayland: Fix laggy window resize
scale_changed and size_changed were incorrectly initialized to true,
causing redundant WindowRectMessage and DPI change events to be pushed
on every configure event regardless of actual changes.
2025-12-07 13:29:19 +03:00
Dery Almas
99b109e981 Wayland: Work around window scale ambiguity 2025-12-06 00:54:50 +01:00
Rémi Verschelde
8981cede94 Merge pull request #113235 from timothyqiu/motif-close
X11: Skip Motif function hints when borderless
2025-12-05 12:55:49 +01:00
Adam Scott
10c7cb878a Add new monospace related hint strings
- Add hint string `monospace` for `PROPERTY_HINT_{NONE,PASSWORD,PLACEHOLDER_TEXT}` to set the `LineEdit` font monospaced.
- Add hint string `monospace` for `PROPERTY_HINT_MULTILINE_TEXT` to set the `TextEdit` font monospaced.
- Add hint string `no_wrap` for `PROPERTY_HINT_MULTILINE_TEXT` to make the `TextEdit` not wrap lines automatically.

Also:
- Fix issue with `EditorPropertyMultilineText` not updating font properly.
- Add `EditorPropertyMultilineText` tweak flags.
- Add support with GDScript `@export_multiline`.
2025-12-03 12:57:40 -05:00
Rémi Verschelde
71d4ded745 Merge pull request #113279 from Ivorforce/tracy-gdscript-codeloc
Add support for profiling GDScript with tracy.
2025-12-02 14:16:56 +01:00
Rémi Verschelde
1c7ef74f4f Merge pull request #113346 from deralmas/wl-keyboard-saga/unify-keys
Wayland: Unify key handling logic
2025-12-01 11:50:11 +01:00
Dery Almas
9a814b4444 Wayland: Unify key handling logic
Previously we had different logic for direct key presses and client-side
key repetition, as one queued up input events and the other dispatched
them directly (client-side key repetition is run from the main thread).

I kinda figured out that this difference doesn't really matter, as we
can queue them up before the thread message dispatching logic. That's
exactly what we do now, which allows us to make a single method for both
of them, making the code much clearer and simplifying future maintenance.

This patch also includes a tiny fixup in the compose logic, which checks
for the validity of the generated key event before actually working with
it. The cases in which we can end up with an invalid reference are very
few, so it's not the end of the world, but it's still absolutely a good
idea to check, to avoid nasty surprises down the line.
2025-11-30 05:11:40 +01:00
LanzaSchneider
3a965d50fe Fix incorrect format specifier for bool in Wayland libdecor 2025-11-29 10:20:27 +08:00