Thaddeus Crews
324512e11c
Style: Replace header guards with #pragma once
2025-03-07 17:33:47 -06: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 -06: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 -06: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 -06: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 -06:00
bruvzg
3e4e6e6c0c
Improve native file dialog parent window selection.
2025-03-06 17:15:39 +02: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 -06:00
Pāvels Nadtočajevs
6ed12bfc5d
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-04 13:18:26 +02: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 -08:00
Hilderin
0c384e7217
Replace error to info messages for embedded game
2025-02-26 19:32:25 -05:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload RenderingDevice
creation test to subprocess.
2025-02-24 19:40:10 +02:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 -06: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 +02: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 +01: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 +01: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 +01: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 +01: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 +01: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 -05:00
Lukas Tenbrink
e34f1f504c
Use std::size
instead of sizeof(a) / sizeof(a[0])
pattern throughout the codebase.
2025-02-07 14:57:48 +01:00
Hilderin
a3d03717c0
Fix Floating Window request close when a dialog is opened
2025-02-05 20:34:32 -05: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 -06: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 -06:00
Adam Scott
e34e127062
Add XK_KP_{Decimal,Enter}
to KeyMappingX11::is_sym_numpad()
2025-02-05 10:54:46 -05: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 +01: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 +01: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 +01:00
Pāvels Nadtočajevs
05ca80632d
[Linux] Implement native color picker.
2025-02-03 16:30:44 +02: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 -06: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 -06: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 +01:00
Hilderin
bc0efb86a9
Fix Floating Window overlapping when on screen edge
2025-02-01 22:27:57 -05:00
Hilderin
150191353f
Fix Floating Window not visible after restore on KDE
2025-02-01 21:08:39 -05: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 -06: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 +02: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 -06: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 -05:00
Hilderin
725dd4930e
Fix BadWindow error when stopping embedded game on Linux
2025-01-25 20:30:40 -05: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 +01: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 -06:00
Hilderin
9eed43d429
Fix NOTIFICATION_WM_CLOSE_REQUEST in Embedded Floating Window
2025-01-21 21:03:15 -05: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 +01: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 +01: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 +01: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 +01:00
Pāvels Nadtočajevs
133ea4f17a
[Wayland] Fix excessive IME updates.
2025-01-17 15:29:06 +02: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 -06:00
Thaddeus Crews
73278bf35d
SCons: Properly NoCache
all text files
2025-01-16 16:59:12 -06:00
Travis Lange
d713a22f2e
fix wayland can set mode exclusive full screen
2025-01-14 20:21:52 -05: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 +02:00