| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
enabled.
|
|\
| |
| |
| | |
Properly set window class in Wayland
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
but return zero screens.
|
|
|
|
|
| |
Alpine 3.17 and later no longer provide execinfo in its repositories,
making compilation impossible unless you pass `execinfo=no`.
|
|
|
|
| |
loop iterations
|
|
|
|
|
|
|
| |
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
|
| |
|
|\
| |
| |
| | |
Wayland: Workaround API limitation in screen/UI scale logic
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mainly, this fixes auto UI scaling with _single-monitor_ fractional
setups (see the comment in `display_server_wayland.cpp` for more info).
This is the result of a bunch of current limitations, mainly the fact
that the UI scale is static (it's probed at startup) and the fact that
Wayland exposes fractional scales only at the window-level, by design.
The `screen_get_scale` special case should help in 99% of cases, while
the auto UI scale part will unfortunately only help with single-screen
situations, as multi-screen fractional scaling requires dynamic UI
scale changing.
|
|/
|
|
|
|
|
|
|
| |
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
|
|
|
|
|
| |
Everything was already there, we just had to wire it up in the display
server.
|
|
|
|
| |
Convenience for a number of cases operating on single values
|
|\
| |
| |
| | |
Fix unsafe uses of `Callable.is_null()`
|
| |
| |
| |
| |
| | |
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
|
|\ \
| | |
| | |
| | | |
SCons: Colorize warnings/errors during generation
|
| |/ |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we pretty much hardcoded most of the globals we requested,
causing compatibility issues with certain compositors like Weston, which
support only some pretty old versions or miss some more advanced
protocols.
To put fuel on the fire, we also errored out when certain protocols
weren't available, despite us being able to boot a game just fine (but
obviously with a degraded featureset).
The solution is to simply allow all the way from version 1 to the
current latest, adding some compatibility code (such as for older
`wl_output`s or newer `wl_pointer`s).
While we're at it, this commit also fixes a few typos and naming inconsistencies
I found.
|
|
|
|
| |
deferred call.
|
|
|
|
|
| |
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
|
|
|
|
| |
other platforms.
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
[Linux/Portal] Fix incorrect DBus connection usage.
|
| | |
|
|\ \
| | |
| | |
| | | |
[DisplayServer] Add separate feature flags for different native dialog types.
|
| |/ |
|
|\ \
| |/
|/|
| | |
[X11] Add more details to large icon size warning
|
| |
| |
| |
| | |
faster find it
|
|\ \
| | |
| | |
| | | |
Core: Implement a XOR operator for BitField
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
[Wayland] Fix typo in input code
|
| | |/
| |/| |
|
|\ \ \
| | | |
| | | |
| | | | |
Refactor OS exit code to be `EXIT_SUCCESS` by default
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- `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.
|
| |/ /
|/| | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
SCons: Remove `run_in_subprocess` & `subprocess_main` dependencies
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | |
| | | | |
[X11] Partial fix for Editor and Project Manager stealing focus on some window managers
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Wayland: Setup next cursor frame callback only if animated
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
|\ \ \
| | | |
| | | |
| | | | |
Wayland: Stop possible Null pointer dereferences
|
| |/ / |
|
|/ / |
|
|\ \
| | |
| | |
| | | |
Move `global_menu_*` methods to a separate `NativeMenu` class.
|