Commit Graph

73112 Commits

Author SHA1 Message Date
f60c98f4e4 Fix typo in Window's exclude_from_capture 2025-04-05 14:22:36 +02:00
4b36c0491e Merge pull request #105020 from YYF233333/opt_get_inheriters
Optimize `ClassDB::get_inheriters_from_class`
2025-04-04 17:40:59 -05:00
f4c7a5ae1d Merge pull request #101774 from Riteo/wayland-multiwindow-for-real-this-time
Wayland: Implement native sub-windows
2025-04-04 17:40:58 -05:00
046c9f540c Merge pull request #105030 from Ivorforce/class-is-enabled-object
Move `GD_IS_CLASS_ENABLED` and respective include from `class_db.h` to `object.h`, as this is where it's needed.
2025-04-04 17:40:58 -05:00
b6539a7653 Merge pull request #105028 from Repiteo/core/decouple-classdb
Core: Decouple `GDCLASS` from `ClassDB`
2025-04-04 17:40:57 -05:00
810689e494 Merge pull request #105025 from Repiteo/ci/retire-free-disk-space
CI: Remove "Free disk space on runner" job
2025-04-04 17:40:39 -05:00
aa5ca4f1a2 Move GD_IS_CLASS_ENABLED and respective include from class_db.h to object.h, as this is where it's needed. 2025-04-04 23:45:35 +02:00
78922d756a Core: Decouple GDCLASS from ClassDB 2025-04-04 16:21:30 -05:00
6013fb1fb9 CI: Remove "Free disk space on runner" job 2025-04-04 14:15:31 -05:00
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 +02:00
4029051bb1 Change ClassDB::get_inheriters_from_class. 2025-04-04 23:47:19 +08:00
27b2ba667c Merge pull request #104982 from Repiteo/scons/native-warn-optimize
SCons: Integrate `WARNLEVEL` & `OPTIMIZELEVEL`
2025-04-04 09:29:38 -05:00
31a66d3a96 Merge pull request #103796 from runzh-crypto/validate-custom-directory
Validate custom directory when project is started
2025-04-04 09:29:37 -05:00
2fe029ded8 Merge pull request #104449 from mihe/jolt/v5.3.0
Jolt: Update to 5.3.0
2025-04-04 09:29:20 -05:00
9977abd697 Validate custom directory when project is started 2025-04-04 21:21:42 +08:00
01f0bd36a4 SCons: Integrate WARNLEVEL & OPTIMIZELEVEL 2025-04-03 18:10:29 -05:00
8bd9cdeea6 Merge pull request #104890 from HolonProduction/json-rpc-manual-bind
JSONRPC: Require manual method registration
2025-04-03 16:50:24 -05:00
21db8487a2 Merge pull request #104664 from tomfull123/missing-typed-dictionary-initializer-list
Add missing `initializer_list` constructor to TypedDictionary
2025-04-03 16:50:23 -05:00
cba1afd63a Merge pull request #103639 from TokageItLab/delta-modifiers
Add `delta` argument to `_process_modification()` as `_process_modification_with_delta(delta)` and expose `advance()` at `Skeleton3D`
2025-04-03 16:50:23 -05:00
6bd249a4c2 Merge pull request #104850 from Repiteo/core/warning-macros
Core: Integrate warning suppression macro helpers
2025-04-03 16:50:22 -05:00
7f1f4e4bdc Merge pull request #104978 from beicause/fix-disable-xr-compilation
Fix compiling with `disable_xr=yes` when 3d enabled
2025-04-03 16:50:21 -05:00
d56efcdf57 Merge pull request #104977 from bruvzg/mac_menu_action
[macOS] Fix native menu submenu items have wrong action and accelerators set.
2025-04-03 16:50:21 -05:00
b1465b925b Merge pull request #104976 from Ivorforce/no-inheritance-list
Remove unused `get_inheritance_list_static` from `GDCLASS`.
2025-04-03 16:50:20 -05:00
15f7c094a2 Merge pull request #104974 from KoBeWi/errors_until_the_end_of_time
Cleanup QuickOpenDialog history and fix UID errors
2025-04-03 16:50:15 -05:00
8040ae7fb2 Merge pull request #104970 from syntaxerror247/nomedia-file
Android Editor: Auto create `nomedia` file to hide project files in media apps
2025-04-03 16:50:15 -05:00
9bbda47794 Merge pull request #104776 from BrotherShort/TextEdit-VScroll-max-tolerance
Fix TextEdit VScroll max tolerance
2025-04-03 16:50:14 -05:00
cb8cb95bdd Merge pull request #104962 from beicause/pctex-fix-create-from-image
PortableCompressedTexture: Fix create compressed format from image
2025-04-03 16:50:13 -05:00
4be432cbec PortableCompressedTexture: Fix create compressed format from image 2025-04-04 03:35:32 +08:00
31c191ee72 Fix compiling with disable_xr=yes 2025-04-04 00:26:53 +08:00
e2c3731cdd JSONRPC: Require manual method registration 2025-04-03 17:51:03 +02:00
65129d2aa2 [macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
e6d166344b Remove unused get_inheritance_list_static from GDCLASS. 2025-04-03 17:18:28 +02:00
207a2b6472 Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
96200abb97 Add p_delta argument to _process_modification() and expose advance() 2025-04-03 23:58:54 +09:00
6392241742 Merge pull request #104959 from bruvzg/kde_swap
Linux: Detect KDE/LXQt and swap OK/Cancel buttons to Windows style.
2025-04-03 09:27:56 -05:00
b6c8155439 Merge pull request #104958 from bruvzg/ok_cancel_swap
Make `swap_cancel_ok` setting 3-state instead of boolean.
2025-04-03 09:27:55 -05:00
6075e6a976 Merge pull request #104957 from arkology/empty-bitmap-crash
Fix `BitMapEditor` crash when bitmap is empty
2025-04-03 09:27:54 -05:00
d0b3e0b474 Merge pull request #104921 from Ivorforce/no-get-valid-parents
Remove unused `get_valid_parents_static` functions from `GDCLASS`.
2025-04-03 09:27:54 -05:00
4e6f3a5605 Merge pull request #104915 from aaronfranke/org-ifdef
Organize ifdefs for disabling navigation, physics, and XR
2025-04-03 09:27:53 -05:00
f5e0b869f4 Merge pull request #104242 from smix8/navmesh_changed
Emit `changed` signal after baking navigation mesh
2025-04-03 09:27:52 -05:00
2e9a99864f Merge pull request #99631 from Mickeon/documentation-duplicate-signals-oopsie
Mention `DUPLICATE_SIGNALS` only affects `CONNECT_PERSIST` signals
2025-04-03 09:27:51 -05:00
3a5f34bd19 Merge pull request #104938 from KoBeWi/root_of_all_bugs
Fix Edit option for sub-resources
2025-04-03 09:27:51 -05:00
e5c5cb4ce2 Merge pull request #104906 from Daylily-Zeleen/daylily-zeleen/allow_instantiate_unexposed_editor_plugin_from_gdextension
Allow instantiating unexposed `EditorPlugin` from GDExtension.
2025-04-03 09:27:50 -05:00
2ad75d4077 Merge pull request #104936 from rsubtil/fix-dap_print_🐛s
Fix invalid DAP responses when content has non-ASCII content
2025-04-03 09:27:50 -05:00
6ef89f12bc Merge pull request #104167 from TokageItLab/spring-inside-tree
Add `is_inside_tree()` check to SpringBoneSimulator3D
2025-04-03 09:27:49 -05:00
577133e6d2 Merge pull request #104963 from beicause/display-pctex-format
Display PortableCompressedTexture's format in inspector preview
2025-04-03 09:27:48 -05:00
578ede6e16 Merge pull request #104960 from akien-mga/cryptocore-buffer-size_t
CryptoCore: Use `size_t` for buffer sizes to fix encoding/sums of 2.0+ GiB files
2025-04-03 09:27:48 -05:00
fb2e9c7ba7 Cleanup QuickOpenDialog history and fix UID errors 2025-04-03 16:21:22 +02:00
1077fdb15a fix TextEdit VScroll max tolerance
newline

Co-Authored-By: Kit Bishop <kitbdev@gmail.com>
2025-04-03 21:22:57 +08:00
8e5e915013 Android Editor: Auto create nomedia file to hide project files in media apps 2025-04-03 18:23:38 +05:30