Commit Graph

6015 Commits

Author SHA1 Message Date
Riteo 3e0632cbd2 Wayland: scale relative pointer motion
Oops, forgot to do that. Motion-dependent stuff should now work properly
when using scaled displays.
2024-07-07 08:39:53 +02:00
Hugo Locurcio 724cdffc8c
Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD 2024-07-06 00:26:39 +02:00
Rémi Verschelde ce16818dd5
Fix missing include in Web main after #93906
My bad, I introduced the bug when amending it.
2024-07-05 14:40:44 +02:00
Rémi Verschelde 20ba2f00bd
Merge pull request #93950 from bruvzg/mvk_scaling
[MoltenVK] Fix downscaled hiDPI window pixelation.
2024-07-04 23:27:23 +02:00
Rémi Verschelde 8455b3343e
Merge pull request #93933 from m4gr3d/anr_and_crash_bug_fixes
Fix crashes and ANRs reported by the Google Play Console
2024-07-04 23:27:20 +02:00
Paul Sinnett db97d88214
Fix preloading a zip in the web editor 2024-07-04 22:13:05 +02:00
bruvzg ab4213f043
[MoltenVK] Fix downscaled hiDPI window pixelation. 2024-07-04 21:03:32 +03:00
Fredia Huya-Kouadio 6b6428d779 Fix ANRs reported by the Google Play Console
- Add support for dispatching input on the render thread (UI thread is the current default) when `input_buffering` and `accumulated_input` are disabled. At the expense of latency, this helps prevent 'heavy' applications / games from blocking the UI thread (the default behavior)  which may cause the application to ANR.

- Remove GLSurfaceView logic causing the UI thread to wait on the GL thread during lifecycle events. The removed logic would cause the UI thread to ANR when the GL thread is blocked.
2024-07-04 05:18:50 -07:00
Fredia Huya-Kouadio c6a23a7a7d Fix crashes reported by the Google Play Console 2024-07-04 02:46:11 -07:00
Rémi Verschelde e6448ca0aa
Merge pull request #93891 from m4gr3d/fix_logo_not_showing_for_gles3
[Android] Fix the issue causing the logo to not show when using the `compatibility` renderer
2024-07-04 11:32:13 +02:00
Rémi Verschelde 01c24ff862
Merge pull request #93750 from adamscott/add-bigint-support-on-js-value-conversion
Add `bigint` support on JS value conversion
2024-07-04 11:31:58 +02:00
Fredia Huya-Kouadio 637f4a10ed Fix the issue causing the logo to not show when using the `compatibility` renderer 2024-07-03 11:16:45 -07:00
Adam Scott ee2759013b Add `bigint` support on JS value conversion 2024-07-03 07:44:32 -04:00
Rémi Verschelde f0d15bbfdf
Merge pull request #93853 from Faless/web/no_force_stdlib
[Web] Remove unnecessary `EMCC_FORCE_STDLIBS` in dlink builds
2024-07-02 17:27:35 +02:00
Rémi Verschelde abfce31ba7
Merge pull request #93152 from RandomShaper/prebuilt_asan
Enable usage of asan-enabled versions of prebuilt libraries
2024-07-02 17:27:31 +02:00
Fabio Alessandrelli 67c06866de [Web] Remove unnecessary EMCC_FORCE_STDLIBS in dlink builds
As discussed with upstream, the C/C++ standard library is always fully
included when building with MAIN_MODULE=1, so using EMCC_FORCE_STDLIBS
is not necessary in our case.
2024-07-02 16:47:00 +02:00
Adam Scott 586db3aae7 Fix assignations to non-existing keys and clean-up 2024-06-29 14:30:57 -04:00
Rémi Verschelde 25de53e147
X11: Fix creating RenderingDevice after #93706
The line was removed by mistake.
2024-06-29 14:03:29 +02:00
Aitor Guevara b8edc64379 [Windows] Disable G-SYNC in windowed mode
G-SYNC (NVIDIA's VRR) is known to be buggy on windowed mode in Windows.
While the driver only enables G-SYNC for full screen mode by default,
users can toggle it on for windowed mode too, resulting in unstable
refresh rates during Editor usage.
This patch extends Godot's NVIDIA profile to force the default full
screen mode only G-SYNC with Godot.
2024-06-29 13:40:15 +02:00
Alvin Wong c54477b7e6 Windows: Restore to windowed mode using SW_NORMAL
If window was maximized before minimizing, restoring the window
afterwards using SW_RESTORE seems to cause the window to forget its
original size and position before being maximized, causing the window to
fill the screen instead.
2024-06-29 18:24:45 +08:00
Pedro J. Estébanez 32d9c93af3 Improve handling of rendering startup errors 2024-06-28 19:31:50 +02:00
Rémi Verschelde 3cefe898b1
Merge pull request #93589 from mhilbrunner/fix-windows-vs-arch-detection
Windows: Fix arch detection via `VCTOOLSINSTALLDIR` if not first in `PATH`
2024-06-28 14:42:54 +02:00
Rémi Verschelde ac9181c666
Merge pull request #93682 from dsnopek/fix-text-editor-find-in-files-focus-bug
Fix text editor stealing focus from "Find in Files" dialog on X11
2024-06-28 12:37:52 +02:00
Riteo f27471fbd8 Wayland: minimize surface commits and limit them to the main thread
Before of this patch, as explained in the usual
commented-wall-of-text-longer-than-the-actual-patch-itself™, due to the
multithreaded nature of the Wayland thread, it was possible to commit a
surface while the renderer was doing stuff, which was _very_ wrong.

Initially the consequences of such a sin weren't obvious but, now that
explicit synchronization is becoming more and more common, we can't
commit a buffer randomly without basically guaranteeing a nasty, nasty
crash (and we should have avoided commits altogether in the first place
to ensure atomic surface updates).

We now only trigger a commit _in the main thread_ when low processor usage
mode is on _and_ if we know that we won't be rendering anything as, due to
its intermittent nature, it makes "legacy" (pre xdg_wm_base v6) frame
callback based suspension quite annoying.
2024-06-28 01:47:25 +02:00
David Snopek 1289298b5e Fix text editor stealing focus from "Find in Files" dialog on X11 2024-06-27 17:27:21 -05:00
Adam Scott 1e8e9f4b09
Fix web export state for remote debug 2024-06-26 08:37:56 -04:00
Max Hilbrunner 63911b994c Windows: Fix arch detection via VCTOOLSINSTALLDIR 2024-06-25 13:31:46 +02:00
Fabio Alessandrelli f59c1f08d7 [Web] Add "threads"/"nothreads" feature tags to export presets
Following the "variant/thread_support" preset option.
2024-06-25 11:42:41 +02:00
Rémi Verschelde c24f2f1c0c
Merge pull request #93489 from dsnopek/web-disable-getprocaddress
Disable `*glGetProcAddress()` on the web
2024-06-25 09:19:46 +02:00
David Snopek 8e242fe7c1 Disable `*glGetProcAddress()` on the web 2024-06-24 10:57:22 -05:00
Rémi Verschelde 2ac72b7402
Merge pull request #93551 from m4gr3d/show_android_custom_template_by_default
Android: Revert hiding of custom templates under the `Advanced Options` toggle
2024-06-24 17:49:10 +02:00
Rémi Verschelde f3195bfcee
Merge pull request #93491 from patwork/fix-type-limits-windows-utils
Fix type-limits warning in `windows_utils`
2024-06-24 17:48:49 +02:00
Fredia Huya-Kouadio 9e9ffdd1bb Revert hiding of custom templates under the `Advanced Options` toggle 2024-06-24 06:14:27 -07:00
Rémi Verschelde f9c51183bb
Merge pull request #93342 from kus04e4ek/build-fix
Fix not using `encoding="utf-8"` when writing to files or reading from them
2024-06-24 11:14:10 +02:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 -05:00
patwork 2e84638147 Fix type-limits warning in windows_utils 2024-06-22 23:04:00 +02:00
Rémi Verschelde 16ab5345ef
Merge pull request #79054 from bruvzg/word_brk_fix
[TextServer] Fix `get_word_breaks` and its uses.
2024-06-22 16:22:03 +02:00
Rémi Verschelde 3325ffbe1b
Merge pull request #92750 from bruvzg/ios_autogen
[iOS export] Automatically generate ARM64 simulator library from device library if it's missing.
2024-06-21 16:49:40 +02:00
bruvzg b5e3238109
[TextServer] Fix get_word_breaks and it uses. 2024-06-21 14:56:57 +03:00
Rémi Verschelde ee3b31da80
Merge pull request #93362 from adamscott/fix-web-audio-pause
Fix pausing issues when using Web Audio samples
2024-06-21 10:14:25 +02:00
Adam Scott 57db018e33
Fix pausing issues when using Web Audio samples 2024-06-20 10:32:28 -04:00
bruvzg 04d70c11fc [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW. 2024-06-20 15:52:04 +03:00
Kusok 0c6dbbd050 Fix not using `encoding="utf-8"` when writing to files or reading from them
Co-authored-by: ChristopheClaustre <christophe.claustre.31@gmail.com>
2024-06-19 23:35:03 +08:00
Rémi Verschelde 4e01d8663e
Merge pull request #93021 from bruvzg/wl_ime
[Wayland] Implement IME support.
2024-06-19 10:10:09 +02:00
Rémi Verschelde 34b9eef177
Merge pull request #91623 from adamscott/web-default-to-nonthreaded
Default to non-threaded export setting for the web
2024-06-19 10:09:49 +02:00
Adam Scott 52fa4f05f3
Add samples playback support 2024-06-18 11:06:31 -04:00
Summersay415 a55788a543 Change the way doNotStrip is set 2024-06-17 20:24:14 +07:00
Hugo Locurcio 29348be0ca Tweak warning messages related to V-Sync on OpenGL
- Make warnings print only once per session.
- Tweak the message to be less confusing, and mention that the issue
  most likely stems from a graphics driver limitation.
2024-06-16 21:22:10 +02:00
bruvzg 501c15c5f5
[iOS export] Automatically generate ARM64 simulator library from device library if it's missing. 2024-06-16 10:46:49 +03:00
Fabio Alessandrelli 27d67b5ae6 [Web] Use the module config to preload GDExtension libraries.
Instead of calling loadDynamicLibraries ourselves, we add the
GDExtension libraries to preload to the "dynamicLibraries" module config
property.

This seems to fix some threading issue with some browsers during the
init phase.
2024-06-14 16:04:16 +02:00
Fabio Alessandrelli 7af8c494ab [Web] Force emcc to use "wasm" longjmp mode
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to
"wasm" mode when exceptions are enabled, and "emscripten" mode when
disabled.

While we generally doesn't use exception in core, linked libraries may
need them, and emscripten don't plan to support WASM EH + Emscripten
SjLj in the long term.
2024-06-14 16:03:56 +02:00
Fabio Alessandrelli e874cd84f0 [Web] Remove space between emscripten "-s" flags and the option 2024-06-14 16:03:56 +02:00
Pedro J. Estébanez d1eebd3493 Enable usage of asan-enabled versions of prebuilt libraries 2024-06-14 14:06:38 +02:00
Rémi Verschelde de8a05f447
Merge pull request #92965 from m4gr3d/fix_splash_screen
Update the Android splash screen logic
2024-06-13 17:19:27 +02:00
Rémi Verschelde e15c2e051e
Merge pull request #92663 from Riteo/holy-egl-batman
EGL: Use `EGL_EXT_platform_base` whenever possible
2024-06-13 17:19:17 +02:00
bruvzg dbc4e3f350
[Windows] Add Windows version and Wine checks for Windows 10+ dark mode API. 2024-06-13 14:28:14 +03:00
Rémi Verschelde 2fab2c7850
Merge pull request #93105 from kitbdev/keystate
Windows Input use GetKeyState instead of GetAsyncKeyState
2024-06-13 11:50:44 +02:00
kit 45c6971a36 Input use GetKeyState instead of GetAsyncKeyState 2024-06-12 18:37:31 -04:00
Mikael Hermansson 6d68362f2f Fix issues related to code-signing for macOS exports 2024-06-12 22:26:41 +02:00
Rémi Verschelde 5e2bdd7efc
Merge pull request #93072 from bruvzg/x11_screen_cap
[X11] Detect XWayland and disable screen capture support.
2024-06-12 11:01:11 +02:00
Rémi Verschelde e78db2c423
Merge pull request #93011 from MTareqAzim/fix-android-motion-event-guards
Fix Left Joystick Motion Not Registering on Android
2024-06-12 10:00:44 +02:00
bruvzg 3cabf51325
[X11] Detect XWayland and disable screen capture support. 2024-06-12 10:05:17 +03:00
Rémi Verschelde 31277e43a7
Merge pull request #91890 from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +02:00
bruvzg be25e60f61
[Wayland] Implement IME support. 2024-06-11 12:24:54 +03:00
Tareq Anuar d14bea4413
Move the most specific motion event guard to the top of the function. 2024-06-11 12:10:09 +08:00
Adam Scott 5a01c2e954
Replace deprecated `USE_WEBGL2` linker flag 2024-06-10 12:14:27 -04:00
Rémi Verschelde b80e591448
Merge pull request #92843 from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +02:00
Fredia Huya-Kouadio f20e21a6d6 Update the splash screen logic for the Godot app template
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
2024-06-10 00:59:36 -07:00
Fredia Huya-Kouadio dd966f5680 Configure the splash screen for the Android editor 2024-06-10 00:34:00 -07:00
Rémi Verschelde a139cd611a
Merge pull request #92826 from bruvzg/nat_icon_checks
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +02:00
Rémi Verschelde ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02:00
Rémi Verschelde e52658643d
Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fix
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +02:00
Rémi Verschelde 0b24f40c33
Merge pull request #92580 from hccloud/master
Remove the limit on the number of the SignalInfo creation function parameters
2024-06-07 23:29:40 +02:00
Anni Ryynänen ae1e2182ec
Stop color picker tooltip from stealing input events
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.

I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.

I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.

Fixes #79500.
2024-06-06 20:00:05 +03:00
bruvzg 28ec2240c4
Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +03:00
Rémi Verschelde e96ad5af98
Merge pull request #92742 from Hilderin/fix-windows-activate-process
Fix Windows Activate Process
2024-06-06 00:44:36 +02:00
bruvzg 1f7bf27780
[macOS] Improve native menu open/close callbacks. 2024-06-05 20:22:41 +03:00
Yuzhao Wang 2e4d573c3c Remove the limit on the number of the SignalInfo function parameters
Update platform/android/api/jni_singleton.h

Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
2024-06-05 09:21:30 +08:00
kleonc 91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
Rémi Verschelde 62b15238e5
Merge pull request #92704 from m4gr3d/update_android_editor_activity_layout
Consolidate the ProjectManager and Editor windows into a single Android Activity class
2024-06-04 10:10:08 +02:00
Riteo 8f69f29694 EGL: Use EGL_EXT_platform_base whenever possible
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Hilderin e201e5bf30 Fix Windows Activate Process 2024-06-03 19:33:41 -04:00
Rémi Verschelde 7118487f9d
Merge pull request #92709 from m4gr3d/fix_request_permissions_return_value
Fix invalid return value when multiple permission requests are dispatched
2024-06-03 10:36:14 +02:00
Rémi Verschelde f976a625e1
Merge pull request #92692 from mihe/always-embed-frameworks
Fix iOS exports never embedding framework bundles
2024-06-03 10:36:10 +02:00
Fredia Huya-Kouadio 53279d2510 Fix invalid return value when multiple permission requests are dispatched 2024-06-02 17:22:51 -07:00
Fredia Huya-Kouadio 0795587f69 Consolidate the ProjectManager and Editor windows into a single Android Activity class. 2024-06-02 14:14:21 -07:00
Mikael Hermansson 84ee828b58 Fix iOS exports never embedding framework bundles 2024-06-02 18:02:01 +02:00
Fredia Huya-Kouadio d38c5b6737 Clean up the build commands used by the editor for gradle builds 2024-05-31 06:21:16 -07:00
Fredia Huya-Kouadio 0342900b77 Clean up the gradle build logic used to generate the Godot Android binaries 2024-05-31 06:21:13 -07:00
bruvzg 5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
Rémi Verschelde d30456fea8
Merge pull request #92415 from bruvzg/win_mod_keys
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +02:00
Rémi Verschelde 37cf266b57
SCons: Process platform-specific flags earlier
Some of the logic in SCons depends on flags that get overridden in the
platform-specific `detect.py`, so it needs to be processed first.

For example the Android/iOS/Web platforms override the default `target`
to `template_debug`, but this was processed too late so e.g. the logic
that sets `env.editor_build` would set it to true due to the default
`target` value in the environment being `editor`.
2024-05-30 16:01:43 +02:00
patwork 909f28a534 Fix multichar warning in windows_utils 2024-05-30 13:58:56 +02:00
Rémi Verschelde 80db5bd28e
Merge pull request #92525 from m4gr3d/fix_libcpp_selection
Ensure that Godot's version of `libc++_shared.so` is always selected
2024-05-30 11:48:15 +02:00
Rémi Verschelde 8ec272f288
Merge pull request #92519 from mihe/stop-xcframework-embed
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
Rémi Verschelde 1dab521f2d
Merge pull request #92208 from Calinou/linuxbsd-use-nanosleep
Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
2024-05-30 11:47:51 +02:00
Rémi Verschelde ffad49f169
Merge pull request #86029 from 0x0ACB/resize_fix
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +02:00
Mauricio Narvaez 28f357733f Ensure that Godot's version of libc++_shared.so is always selected in case dependencies have their own 2024-05-29 14:43:35 -07:00
Rémi Verschelde a6ef250f3e
Merge pull request #92133 from m4gr3d/fix_touch_input
Fix invalid detection of mouse input
2024-05-29 23:03:27 +02:00
Mikael Hermansson b6e5e16868 Prevent static XCFramework bundles from being embedded on iOS 2024-05-29 17:54:49 +02:00
bruvzg c8ae9e9c76
[iOS] Change default iPad landscape orientation from "left" to "right". 2024-05-29 12:47:49 +03:00
Rémi Verschelde c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
bruvzg 714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
Rémi Verschelde cc6a7b97d6
Merge pull request #92458 from bruvzg/dup_cl
[macOS, X11] Fix duplicate close requests.
2024-05-28 15:50:05 +02:00
Rémi Verschelde b8f3c5e2ab
Merge pull request #92427 from AThousandShips/bind_go_away
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-28 15:50:01 +02:00
Rémi Verschelde f98c259131
Merge pull request #92353 from Riteo/you-cant-see-me
Wayland: Implement `is_window_transparency_available`
2024-05-28 15:49:33 +02:00
Rémi Verschelde 981ac9bfeb
Merge pull request #92324 from jwinarske/jw/wayland_sowrap
Linux: Enable build config `wayland=yes use_sowrap=no`
2024-05-28 15:49:16 +02:00
Rémi Verschelde ca708b5706
Merge pull request #92026 from Repiteo/scons/web-fixes
SCons: Minor fixes/adjustments for web compilation
2024-05-28 15:48:49 +02:00
Rémi Verschelde ac6f5780b1
Merge pull request #91695 from bruvzg/web_ime_pos
[Web IME] Fix suggestion window position in Chromium based browsers.
2024-05-28 15:48:42 +02:00
Rémi Verschelde 576d9a5c12
Merge pull request #92325 from Repiteo/scons/res-race-condition-fix
SCons: Fix `RES` race condition
2024-05-28 15:48:12 +02:00
ACB 9dd1268306 remove dead code from DisplayServerWindows::window_set_size 2024-05-28 08:55:15 +02:00
bruvzg 1a40cda95e
[macOS, X11] Fix duplicate close requests. 2024-05-28 09:41:04 +03:00
A Thousand Ships 4ed62665a2
Replace `.bind(...).call_deferred()` with `.call_deferred(...)` 2024-05-27 13:29:57 +02:00
bruvzg 62e41087d5 [Windows] Use current keyboard state instead of saved values for modifier keys. 2024-05-27 09:15:01 +03:00
Riteo 9734feb449 Wayland: Implement is_window_transparency_available 2024-05-26 00:05:47 +02:00
bruvzg fc89a0c118
Fix build with `vuklan=no` and `d3d12=no` after #91505. 2024-05-25 21:08:50 +03:00
Joel Winarske f06dd46eb7 Enable build config wayland=yes use_sowrap=no
-wayland-egl.h was missing if opengl3=yes (default)

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2024-05-25 07:15:57 -07:00
Thaddeus Crews 18fb492afe
SCons: Fix `RES` race condition 2024-05-24 12:44:44 -05:00
Thaddeus Crews 5d265e9a7e
SCons: Minor fixes/adjustments for web compilation 2024-05-24 12:30:24 -05:00
bruvzg 628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +03:00
Rémi Verschelde 7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Rémi Verschelde de490253fe
Merge pull request #92124 from Repiteo/scons/platform-flags-dict
SCons: Convert platform `get_flags` to dictionary
2024-05-23 08:59:07 +02:00
Thaddeus Crews 896b003cc8
SCons: Convert platform `get_flags` to dictionary 2024-05-22 13:53:20 -05:00
Paulo Poiati a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
patwork 1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
Jakub Marcowski d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 -05:00
Hugo Locurcio a008896f70
Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
usleep(3) was declared obsolete in POSIX.1-2001 and removed in POSIX.1-2008.
nanosleep(2) was recommended to be used instead.

`OS::delay_usec()` internally uses `nanosleep()`.

This also uses large number separators for improved readability.
2024-05-21 17:32:40 +02:00
Rémi Verschelde 0e39ac6ac6
Merge pull request #92176 from emrekultursay/master
Fix detecting when Gradle is invoked from Studio
2024-05-21 11:23:08 +02:00
Rémi Verschelde 0f044855f5
Merge pull request #92158 from bruvzg/win_crlf
[Windows] Use CRLF in the terminal prints.
2024-05-21 11:22:56 +02:00
Emre Kultursay 3b8d0bee4a Fix detecting when Gradle is invoked from Studio
The existing 'idea.platform.prefix' system-property approach
only worked because of a Android Studio bug that leaks the
system properties from Android Studio into Gradle build:
  - https://issuetracker.google.com/201075423

This bug was fixed in Android Studio 2023.3.1 (Jellyfish).

The correct way of identifying builds from Android Studio is to
use the following project property (not system property):
 - android.injected.invoked.from.ide
2024-05-20 17:02:36 -07:00
Alexander Hartmann ab9e377fe6 Fix InputEventScreenDrag on Android 2024-05-21 01:04:23 +02:00
bruvzg 497f65fa50 [Windows] Use CRLF in the terminal prints. 2024-05-20 14:23:17 +03:00
Fredia Huya-Kouadio 5a74e5812b Add logic to unregister the Godot plugins on engine termination 2024-05-19 19:27:04 -07:00
Fredia Huya-Kouadio 625b92e3cd Input logic cleanup:
- Fix invalid detection of mouse input. Prioritize using the event tool type to detect the type of the event, and only use the event source as fallback.

- Ensure that pressure and tilt information is passed for touch drag events

- Consolidate logic and remove redundant methods

- Improve the logic to detect when external hardware keyboards are connected to the device
2024-05-19 14:08:01 -07:00
Hakim 04aaa86039 Disable remote debug button when there are no runnable presets 2024-05-17 00:15:13 +02:00
Rémi Verschelde b802c7274f
Merge pull request #91933 from bruvzg/x11_scr_fb
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens.
2024-05-15 12:09:45 +02:00
Rémi Verschelde 86b72d9215
Merge pull request #91377 from bruvzg/macos_privacy
[macOS export] Add support for privacy manifest configuration.
2024-05-15 12:09:34 +02:00
Thaddeus Crews 0ec4ec0f90
SCons: Fix `silence_msvc` implementation errors 2024-05-14 12:22:54 -05:00
bruvzg 1f8e69ddec
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens. 2024-05-14 11:08:10 +03:00
Rémi Verschelde 10cd6ad93a
Merge pull request #91856 from patwork/double-quotes-in-head
[Web] Fix quotes style in HTML shell head include
2024-05-13 17:32:18 +02:00
Fredia Huya-Kouadio ab4fbbcaa7 Switch to the WindowInsetsAnimationCompat api
Replace the use of WindowInsetsAnimation with WindowInsetsAnimationCompat; the former was only introdcued in api 30 and caused a crash on older versions of Android.

Fixes https://github.com/godotengine/godot/issues/91773
2024-05-13 00:59:03 -07:00
patwork b6536884cc Fix quotes style in HTML shell head include 2024-05-12 01:37:13 +02:00
Rémi Verschelde eacfdc784f
Merge pull request #91817 from Calinou/linuxbsd-default-disable-execinfo
Set `execinfo=no` by default when compiling for Linux/*BSD
2024-05-11 12:38:33 +02:00
Hugo Locurcio 7b678b961c
Set `execinfo=no` by default when compiling for Linux/*BSD
Alpine 3.17 and later no longer provide execinfo in its repositories,
making compilation impossible unless you pass `execinfo=no`.
2024-05-11 00:25:13 +02:00
Rémi Verschelde 6fcdd24468
Merge pull request #91624 from Repiteo/scons/native-generation
SCons: Generate all scripts natively, implement wrapper function
2024-05-10 09:55:51 +02:00
Rémi Verschelde 8a57f64255
Revert "Implement "get_mingw_tool" to fix mingw prefixes"
This reverts commits ecebe0b40d
and 15d37ed2a8.

Fixes #91710.
2024-05-09 11:10:32 +02:00
bruvzg 99d6f32918
[Web IME] Fix suggestion window position in Chromium based browsers. 2024-05-09 08:52:27 +03:00
Pedro J. Estébanez fc08eca524 DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations 2024-05-08 17:41:40 +02:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* 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
2024-05-08 12:37:42 +02:00
Rémi Verschelde a7f4860b72
Merge pull request #91698 from bruvzg/mingw_exe_size
[MinGW] Restore executable size check.
2024-05-08 12:31:36 +02:00
bruvzg 15d37ed2a8
[MinGW] Restore executable size check. 2024-05-08 12:43:02 +03:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Jakub Marcowski 7699d678c4
Fix `builtin_embree=no` build linking the wrong version of Embree 2024-05-08 00:40:45 +02:00
Thaddeus Crews 34fb3f7730
SCons: Generate all scripts natively 2024-05-07 15:30:45 -05:00
Rémi Verschelde 039aa28a60
Merge pull request #89574 from Riteo/scale-your-expectations-with-this-one
Wayland: Workaround API limitation in screen/UI scale logic
2024-05-07 21:52:44 +02:00
Riteo 1bb8199342 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.
2024-05-07 19:50:48 +02:00
Rémi Verschelde 2885620385
Merge pull request #91361 from RandomShaper/fix_no_focusin
Windows: Fix `WINDOW_EVENT_FOCUS_IN` not delivered in some cases
2024-05-07 13:48:48 +02:00
Rémi Verschelde 86fb866b6a
Merge pull request #85188 from aitorciki/nvdrs-fixes
[Windows] Fix NVIDIA app profile creation
2024-05-07 13:48:40 +02:00
Rémi Verschelde e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Thaddeus Crews ecebe0b40d
Implement "get_mingw_tool" to fix mingw prefixes
• Replaces "try_cmd" entirely and removes need for "get_mingw_bin_prefix" in isolation
2024-05-06 17:32:53 -05:00
Adam Scott c465dbb051
Default to non-threaded export setting for the web 2024-05-06 12:21:14 -04:00
Rob Blanckaert 3093ef49bc
Fix missing space in missing tools error message.
Currently prints as `ANDROID_HOME is correct and cmdline-toolsare installed, or install NDK version`
2024-05-04 20:51:21 -07:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
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
2024-05-04 16:08:55 +02:00
Pedro J. Estébanez 12fda2fc13 Windows: Fix WINDOW_EVENT_FOCUS_IN not delivered in some cases 2024-05-03 13:42:12 +02:00
Rémi Verschelde 03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde 479b2ab777
Merge pull request #91466 from Riteo/gles-ftw
Wayland: Add support for OpenGL ES driver
2024-05-03 10:31:45 +02:00
Riteo d3279fa552 Wayland: Add support for OpenGL ES driver
Everything was already there, we just had to wire it up in the display
server.
2024-05-03 05:17:13 +02:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Radiant 789c6ebdfd Implement `amplitude` to Input.vibrate_handheld
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
bruvzg e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect. 2024-05-02 14:39:33 +03:00
A Thousand Ships 308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Adam Scott 51d2ebf2da
Add more Remote Debug options to the web platform 2024-05-01 14:11:05 -04:00
Rémi Verschelde 9824a9003f
Merge pull request #91339 from TCROC/windows-apk-build-fix
Fix for Android build on Windows
2024-05-01 09:55:15 +02:00
Rémi Verschelde 85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +02:00
bruvzg 059ddc41a0
[macOS export] Add support for privacy manifest configuration. 2024-04-30 23:31:56 +03:00
Rémi Verschelde b1da4b2a84
Merge pull request #91128 from patwork/splash-image-in-web-export
Splash image support and new progress bar for HTML5 Web Export
2024-04-30 17:03:21 +02:00
Travis Lange cc0d5a43cc added fix for android build on windows 2024-04-29 20:32:41 -04:00
Rémi Verschelde 271d7c8db7
Merge pull request #91147 from bruvzg/con_redir_3
[Windows] Improve console IO redirection.
2024-04-29 13:00:41 +02:00
Rémi Verschelde 339cb0e2a2
Merge pull request #90428 from bruvzg/macos_detect_helper_exes
[macOS export] Detect embedded helper executables using MachO header.
2024-04-29 13:00:34 +02:00
Rémi Verschelde 1f303e0019
Merge pull request #89790 from bruvzg/ios_safe_delete
[iOS Export] Check directory content before deleting old export leftovers.
2024-04-29 13:00:30 +02:00
Rémi Verschelde 947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde 8211b0d143
Merge pull request #91202 from Faless/web/fix_cc_typedef
[Web] Fix closure compiler typedef annotation
2024-04-29 10:10:03 +02:00
Rémi Verschelde d7340a0389
Merge pull request #91196 from Riteo/globally-compatible
Wayland: Improve compositor compatibility by allowing older globals
2024-04-29 10:10:00 +02:00
Rémi Verschelde 13fbd42c37
Merge pull request #90975 from aaronfranke/plugin-org
Organize existing code for editor plugins
2024-04-29 10:09:45 +02:00
Rémi Verschelde bdeed8e750
Merge pull request #90375 from bruvzg/ios_privacy
[iOS export] Add support for privacy manifest configuration.
2024-04-29 10:09:38 +02:00
Rémi Verschelde 45c6f18128
Merge pull request #61006 from bruvzg/libbacktrce
[Windows] Enable crash reporter on MinGW builds.
2024-04-29 10:09:22 +02:00
Thaddeus Crews e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
Aaron Franke 1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
A Thousand Ships 31e7ee63f2
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.
2024-04-27 16:22:57 +02:00
bruvzg 874814794b [Windows] Improve console IO redirection. 2024-04-27 00:40:17 +03:00
Riteo 2b34ba6d4b Wayland: Improve compositor compatibility by allowing older globals
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.
2024-04-26 15:52:10 +02:00
Fabio Alessandrelli 8079cd4358 [Web] Fix closure compiler typedef annotation
The typedef annotation is expected to come bofre a var (or const) since
it's most commonly used in externs. Use an inline definition instead.
2024-04-26 13:11:41 +02:00
patwork 7c8a4a9dab Added splash image support and new progress bar for web export 2024-04-25 11:12:55 +02:00
Rémi Verschelde 504de8be70
Merge pull request #91071 from bruvzg/dbus_fd_cb_process
[DBus] Process file dialog callback in the main event loop instead of using deferred call.
2024-04-24 09:59:24 +02:00
Rémi Verschelde 5594bca2fb
Merge pull request #91050 from bruvzg/ios_sensor_fix
[iOS] Fix sensors orientation.
2024-04-23 19:12:19 +02:00
Rémi Verschelde fc912defb1
Merge pull request #90326 from fire/vsk-scons-final-4.3
Avoid compiler error with RenderingContextDriverVulkanWindows
2024-04-23 19:11:10 +02:00
bruvzg 67d6be30a0
[DBus] Process file dialog callback in the main event loop instead of using deferred call. 2024-04-23 19:32:35 +03:00
bruvzg 7f52e5bd44
[iOS] Fix sensors orientation. 2024-04-23 12:59:24 +03:00
Fredia Huya-Kouadio 3a06b447cc Cleanup Android file errors
Follow up to https://github.com/godotengine/godot/pull/90403
2024-04-22 07:48:45 -07:00
bruvzg c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
Rémi Verschelde 6cf03a5bbb
Merge pull request #90802 from m4gr3d/fix_android_gradle_build_copy_rename_permissions_error
Fix issue causing the `copyAndRename*` task to fail on occasions on Windows machines
2024-04-22 12:52:56 +02:00
Rémi Verschelde 8c474ddd49
Merge pull request #90710 from m4gr3d/fix_jstring_leaks
Fix leakage of JNI object references
2024-04-22 12:52:16 +02:00
Rémi Verschelde e500046e00
Merge pull request #90611 from m4gr3d/automatically_generate_debug_keystore
Automatically generate the Android debug keystore
2024-04-22 12:52:03 +02:00
Rémi Verschelde 504d01b61e
Merge pull request #90403 from bruvzg/file_resize
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
Fredia Huya-Kouadio 764de7fe31 Collapse the gdextension arguments into the `GDExtensionData` struct
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio ede88cf59d Fix loading GDExtension dependencies on Android 2024-04-19 07:55:08 -07:00
Fredia Huya-Kouadio 1cc935fa6c Fix issue causing the `copyAndRename*` task to fail on occasions on Windows machines
Gradle automatically handles up-to-date checks for output files and directories. This behavior sometimes causes the `copyAndRename*` task to fail on Windows machines when gradle tries to check on existing files in the output directories it doesn't have access to.
To fix the issue, we disable this gradle behavior following the instructions in https://docs.gradle.org/8.2/userguide/incremental_build.html#sec:disable-state-tracking
2024-04-17 08:38:32 -07:00
bruvzg e667dc2d59
[macOS] Fix native file dialog with empty filter list. 2024-04-17 11:12:14 +03:00
Rémi Verschelde 79173d1fd8
Merge pull request #90698 from Faless/fix/web/serve_py_dual_stack_windows
[Web] Fix serve.py utility on Windows
2024-04-16 13:30:51 +02:00
Rémi Verschelde 7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +02:00
kobewi dce4a3e4c2 Add get_process_exit_code() method 2024-04-16 12:46:15 +02:00
bruvzg 7446826ab9 [iOS export] Add support for privacy manifest configuration. 2024-04-16 12:10:12 +03:00
Fredia Huya-Kouadio f291a4ed3a Fix leakage of JNI object references
Fixes https://github.com/godotengine/godot/issues/87548
2024-04-15 10:30:18 -07:00
Fabio Alessandrelli 67a51c9316 [Web] Fix serve.py utility on Windows
IPv6 dual stack is disabled by default, and Windows resolves wildcard
addresses to an IPv6 by default, so connecting through the local IPv4
address would not work.

This enables IPv6 dual stacking for the HTTP server by default like done
in upstream python when launching the module from CLI.
2024-04-15 19:16:50 +02:00
Rémi Verschelde c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Thaddeus Crews 6df57d2d7d
SCons: Fix `silence_msvc` regression 2024-04-13 08:58:29 -05:00
Rémi Verschelde 133d036741
Merge pull request #90603 from m4gr3d/fix_keystore_path_resolution
Fix issue with resolving the path for the Android keystore file
2024-04-13 11:30:51 +02:00
Miguel de Icaza 3ea7dec7d3
Fix the initialization order for the iOS driver
The problem is that we were initializating the main loop (SceneTree)
when we were supposed to just set it.  Which would cascade into a
series of issues, including having the EditorNode being flagged as
"inside_tree" and having a tree, before it was supposed to.

This meant that some code would assume it was fully initialized, when
it was not.   And this manifested as the project not being scanned for
resources, which meant that during the importing, the resources would
not match using the uid path, and produce lots of errors.

One line fix
2024-04-13 11:18:53 +02:00
Fredia Huya-Kouadio a8c9b59f3f Automatically generate the Android debug keystore
Automatically generate the Android debug keystore when the Java SDK path is specified.
2024-04-12 23:53:28 -07:00
Fredia Huya-Kouadio 6fd5238955 Fix issue with resolving the path for the Android keystore file
The previous logic passed the path to the Android keystore as-is to an external tool. This causes the tool to fail if the path is Godot-specific (e.g: 'res://<path_to_keystore>'
2024-04-12 17:00:09 -07:00
bruvzg 88b3e68f93
[FileAccess] Implement `resize` method. 2024-04-12 19:20:49 +03:00
Rémi Verschelde cabb3ca4ef
Merge pull request #90551 from Repiteo/scons/silence-msvc-for-real
SCons: Silence MSVC output bloat without hiding errors
2024-04-12 11:17:02 +02:00
Thaddeus Crews b278cefd1c
SCons: Silence msvc output without hiding errors 2024-04-11 22:21:18 -05:00
melquiadess 0ce8365dd7 Standardize descriptions, add urls, remove deprecated tag from non-deprecated permission 2024-04-11 20:23:03 +01:00
Rémi Verschelde e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Pedro J. Estébanez c28f5901c7 Polish interaction between windowing, input and rendering
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
Mikael Hermansson a057158d75 Revert pack trimming introduced by #82084 2024-04-10 12:00:04 +02:00
bruvzg bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +03:00
bruvzg bae27340c9
[macOS export] Detect embedded helper executables using MachO header. 2024-04-09 13:19:24 +03:00
Rémi Verschelde 0d0d23cb61
Merge pull request #90377 from melquiadess/add-post-notification-permission-to-a-list-of-available-permissions
Android: Add `POST_NOTIFICATIONS` permission to the list of permissions available in the Export dialog
2024-04-08 18:42:41 +02:00
Micky 328b00774b Use `[codeblock lang=text]` more often in class ref 2024-04-08 16:17:50 +02:00
Rémi Verschelde dc91479082
Merge pull request #90382 from RandomShaper/win_focus_fix
Windows: Fix mouse handling regression
2024-04-08 15:54:32 +02:00
Rémi Verschelde 0e50807c55
Merge pull request #90379 from bruvzg/ios_static_libs
[iOS Export] Fix adding static libs to the Xcode project.
2024-04-08 14:04:49 +02:00
Pedro J. Estébanez bdfe76b200 Windows: Fix mouse handling regression 2024-04-08 13:05:01 +02:00
sambler 97e95e1750 Make sysctl calls on FreeBSD
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.
2024-04-08 19:18:03 +09:30
Rémi Verschelde 7d96ec4f9d
Merge pull request #88329 from ManpreetXSingh/key-window-menu
Windows: Add support for enabling Alt+Space menu and fix borderless maximize
2024-04-08 11:20:05 +02:00
Rémi Verschelde 6b4944ee67
Merge pull request #87042 from Mickeon/documentation-EditorExportPlatform-misc
Add miscellaneous documentation to some classes
2024-04-08 11:19:33 +02:00
bruvzg 30babfc789
[iOS Export] Fix adding static libs to the Xcode project. 2024-04-08 11:55:59 +03:00
melquiadess 739190ca2b Add POST_NOTIFICATIONS permission to the list of permissions available in the Export dialog 2024-04-08 09:45:16 +01:00
K. S. Ernest (iFire) Lee 761ee753bf Avoid compiler error with RenderingContextDriverVulkanWindows. 2024-04-06 15:53:10 -07:00
Rémi Verschelde 02cb74e223
Merge pull request #84363 from RandomShaper/win_focus_activ
Robustify handling of activation & focus on Windows
2024-04-06 13:06:04 +02:00
Manpreet Singh 329d04d331 Windows: Add alt+space menu and fix window modes 2024-04-06 16:26:19 +05:30
Rémi Verschelde 3a73c04af6
Merge pull request #88840 from m4gr3d/update_android_export_advanced_options
Update the list of advanced export options for the Android platform
2024-04-05 12:15:48 +02:00
DmitriySalnikov b73e740786 Add renaming of PDB files to avoid blocking them 2024-04-05 00:14:23 +03:00
Rémi Verschelde 1c571f991d
Merge pull request #90000 from melquiadess/improve-performance-of-sensor-readings
Android: Improve performance of sensor readings
2024-04-04 17:09:17 +02:00
Thaddeus Crews b0cda1f85f
Core: Use fixed-width integer types in Variant 2024-04-04 08:54:11 -05:00
melquiadess f09d033156 Improve performance by extracting windowManager and getRotatedValues()
Once sensor listeners are registered, onSensorChanged() (and subsequently
getRotatedValues()) gets called multiple times per socond. Obtaining
WindowManager on each of those calls is superfluous and can be avoided
by extracting it to a lazy class val. getRotatedValue() can also be
called before checking sensor type, and used for each one of them,
resulting in less code repetition.
2024-04-04 14:17:28 +01:00
Rémi Verschelde 82dd9b9916
Merge pull request #90147 from melquiadess/remove-redundant-semicolons
Android: Remove redundant semicolons from Kotlin/gradle files
2024-04-04 14:37:31 +02:00
Rémi Verschelde c7606354c6
Merge pull request #90146 from melquiadess/extract-command-line-file-parsing-and-add-unit-tests
Android: Extract parsing command line file to a separate class + add unit tests
2024-04-04 14:37:28 +02:00
Rémi Verschelde 61b56f6019
Merge pull request #90131 from rodrigodias4/fix86495
Fix macOS menu bar & dock stop appearing after closing sub-window
2024-04-04 14:37:24 +02:00
Rémi Verschelde f8a1da9f55
Merge pull request #90101 from Jiali-Qiu/move-maximized-window
Fix issue with moving maximized window in macOS
2024-04-04 14:37:18 +02:00
Rémi Verschelde 88f7012923
Merge pull request #89999 from melquiadess/prevent-potential-NPEs-and-improve-nullability-handling
Android: Prevent potential NPEs and improve nullability handling
2024-04-04 14:35:57 +02:00
Rémi Verschelde 06f86e6e37
Merge pull request #89935 from bruvzg/dbus_conn_fix
[Linux/Portal] Fix incorrect DBus connection usage.
2024-04-04 14:35:31 +02:00
Rémi Verschelde 7fa97f37fb
Merge pull request #89452 from Riteo/name-a-better-duo
SCons: Enable the experimental Ninja backend and minimize timestamp changes to generated code
2024-04-04 14:31:24 +02:00
melquiadess 839600b744 Extract parsing command line file to a separate class + add unit tests 2024-04-04 10:18:57 +01:00
Pedro J. Estébanez 9240034d3c Robustify handling of activation & focus on Windows 2024-04-03 15:52:11 +02:00
melquiadess 73908bbce2 Remove redundant semicolons from Kotlin/gradle files 2024-04-02 23:31:34 +01:00
Rodrigo Dias a4f2e5210f Fix MacOS menu bar & dock stop appearing after closing sub-window
When the progress dialog task for saving a scene ends, or when closing the "Open project" dialog, the DisplayServerMacOS::update_presentation_mode() method now restores those fullscreen functionalities with the flags NSApplicationPresentationAutoHideMenuBar and NSApplicationPresentationAutoHideDock, whereas before it would reset to NSApplicationPresentationDefault, which didn't allow that.

Fixes #86495
2024-04-01 21:57:58 +01:00
Jiali Qiu d78cb43ec2 Fix issue with moving maximized window in macOS
When opening the Godot editor and maximizing the window by double-clicking the
title bar, users are unable to drag the window with the mouse.

With this commit, `window_set_position` allows the maximized window to be moved
by dragging it. Only the fullscreen window won't be allowed to move.

Fixes #78758.
2024-04-01 17:07:24 +01:00
melquiadess 70ea3e22a6 Use ?. (and ?.let) safe operators instead of !!
This PR prevents potential NPEs, and follows Kotlin conventions more closely
by replacing the unsafe !! operator with safe ?. (or ?.let) (usually
!! would only be used very rarely, and with a good reason - there is one
place left in this PR where !! makes sense), and by replacing Java style
'if (x != null)' with Kotlin's '?.'
2024-03-28 23:36:38 +00:00
Rémi Verschelde 3881778ebc
Merge pull request #89953 from bruvzg/macos_menu_shortcuts
[macOS] Fix non-global native menu shortcuts.
2024-03-28 10:47:34 +01:00
Rémi Verschelde 7092230df6
Merge pull request #89907 from bruvzg/nat_dlg_ftr_flags
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-28 10:47:15 +01:00
Rémi Verschelde d28fb26ab0
Merge pull request #89716 from theromis/master
[X11] Add more details to large icon size warning
2024-03-28 10:47:08 +01:00
bruvzg 37e0be37d8
[macOS] Fix non-global native menu shortcuts. 2024-03-27 22:26:44 +02:00
bruvzg 082b420c0a
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
bruvzg 607cc27152
[Linux/Portal] Fix incorrect DBus connection usage. 2024-03-27 09:18:31 +02:00
bruvzg dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types. 2024-03-26 15:18:06 +02:00
Rémi Verschelde bad1f4aae5
Merge pull request #89900 from bruvzg/nmenu_move
[NativeMenu] Move files to the `display` subfolder.
2024-03-26 13:45:46 +01:00
Rémi Verschelde 9335b83a32
Merge pull request #87831 from Riteo/bitfield-xor
Core: Implement a XOR operator for BitField
2024-03-26 13:45:02 +01:00
bruvzg 399899a095
[NativeMenu] Move files to the `display` subfolder. 2024-03-26 10:18:08 +02:00
Alexander Hartmann 1a68f1425d Fix `EXIT_SUCCESS` on Android 2024-03-25 17:50:02 +01:00
Rémi Verschelde ccb1cb4845
Merge pull request #89703 from V-Sekai/android-fix
Android: Fix UnsupportedOperationException remove from non-ArrayList
2024-03-25 15:25:50 +01:00
Aitor Guevara 159f0af92f [Windows] Fix NVIDIA app profile creation
When adding an executable to the NVIDIA profile created to disable
threaded optimization, wrong values were passed to `launcher` and
`fileInFolder` params, which resulted in 1) the NVIDIA driver not
applying the profile and 2) the app being repeatedly added to the
profile.
This patch fixes the faulty app creation params and deletes the
potentially corrupted profile if found.
2024-03-25 12:43:04 +01:00
Lyuma 3262363664 android: Fix UnsupportedOperationException remove from non-ArrayList 2024-03-25 00:04:28 -07:00
Alexander Hartmann 65f68fda54 Fix `EXIT_SUCCESS` on MacOS 2024-03-24 17:08:25 +01:00
Rémi Verschelde e2f85b4f7a
Merge pull request #89707 from AThousandShips/typo_fix
[Wayland] Fix typo in input code
2024-03-24 01:22:10 +01:00
Rémi Verschelde aa0e57e00c
Merge pull request #89598 from dustdfg/web/fix-supported-arch-message
Fix platform name in the message about unsupported CPU architecture
2024-03-24 01:19:06 +01:00
Rémi Verschelde a277361321
Merge pull request #89594 from LeonardoDemartino/ios_airpods_routing
iOS: Fix AirPods routing when Play and Record category is used.
2024-03-24 01:18:51 +01:00
Rémi Verschelde 428ba4c367
Merge pull request #89579 from beicause/master
Fix `gdextensionlibs.json` storage path in Android gradle build
2024-03-24 01:18:22 +01:00
Rémi Verschelde f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
bruvzg b3043674f6
[iOS Export] Check directory content before deleting old export leftovers. 2024-03-22 23:45:54 +02:00
Roman Vasilyev ece8685b3b Add icon source size to warning about "too large icon dimensions" to help faster find it 2024-03-22 12:53:57 -07:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
bruvzg 0587a1d217
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly. 2024-03-20 11:56:07 +02:00
A Thousand Ships 9aa99c0a9d
[Wayland] Fix typo in input code 2024-03-20 10:37:08 +01:00
Yevhen Babiichuk (DustDFG) ca60255d8c Fix platform name in the message about unsupported CPU architecture
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-03-17 09:28:53 +02:00
Leonardo Demartino 3bdbf90f49 Fix AirPods routing when Play and Record category is used. 2024-03-17 02:39:16 -03:00
beicause 428fa0dfa7 Fix gdextensionlibs.json storage path in Android gradle build
It should relative to gradle build directory
2024-03-17 01:11:36 +08:00
bruvzg ebb19c4198 [NativeMenu] Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows. 2024-03-15 22:46:47 +02:00
Riteo a5cf92664d SCons: unify code generations routine and minimize timestamp changes
Previously, all of the code generation routines would just needlessly
write the same files over and over, even when not needed.

This became a problem with the advent of the experimental ninja backend
for SCons, which can be trivially enabled with a few lines of code and
relies on timestamp changes, making it thus impractical.
2024-03-15 15:43:53 +01:00
bruvzg 016107fba0
[NativeMenu] Fix MinGW build. 2024-03-15 13:59:47 +02:00
Rémi Verschelde c9c17d6ca6
Merge pull request #89511 from bruvzg/win_emb_x
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled.
2024-03-15 11:07:39 +01:00
bruvzg aac31feda6
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled. 2024-03-15 11:41:48 +02:00
Rémi Verschelde ea05652a6a
Merge pull request #89507 from bruvzg/ios_no_jit
[iOS] Disable PCRE2 JIT.
2024-03-15 10:40:20 +01:00
bruvzg 9834733f6f
[iOS] Disable PCRE2 JIT. 2024-03-15 10:24:08 +02:00
bruvzg 3459aaa9d1 Fix NativeMenu layout direction on macOS, add extra check for Windows menu. 2024-03-15 09:48:54 +02:00
Rémi Verschelde 4ca6cd054f
Merge pull request #89273 from bruvzg/win_native_menu
[NativeMenu] Implement native popup menu support on Windows.
2024-03-14 22:34:42 +01:00
Rémi Verschelde 453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
A Thousand Ships 24c9d442e9
[Doc] Fix some incorrect uses of `a/an` 2024-03-13 21:20:28 +01:00