Commit Graph

4828 Commits

Author SHA1 Message Date
Rémi Verschelde 265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Fredia Huya-Kouadio 250749fa79 Augment the `InputEvent` class with a `CANCELED` state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-15 11:48:25 -07:00
Fabio Alessandrelli 58c6f88802 [TLS/Windows] Skip disallowed certs in the trusted CA list.
Turns out the list of trusted root certificates contains disallowed
certificates (i.e. certificates which are no longer trusted or have been
revoked).

We need to check for the property `CERT_DISALLOWED_FILETIME_PROP_ID` to
check if and when the certificates should be distrusted.
2023-05-14 14:44:14 +02:00
Rémi Verschelde 788cb74cc6
Linux: Don't use udev for joypad hotloading when running in a sandbox
udev doesn't work in sandboxes, notably the new Steam container runtime
as found notably on the Steam Deck, and in Flatpak/Snap packages.

Like SDL does, when we detect such a containerized environment, we fall
back to parsing `/dev/input` directly.
See smcv's comments in #76879 for details.

Fixes #76879.
2023-05-12 11:30:16 +02:00
Rémi Verschelde 258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde 1c07717d3e
Merge pull request #76974 from dsnopek/linuxbsd-feature-tags
Fix 'linux' and specific BSD feature tags
2023-05-12 10:06:08 +02:00
Rémi Verschelde 03053eaf19
Merge pull request #76957 from Riteo/dbus-check
Check DBus loading status before attempting to detect its version
2023-05-12 10:04:33 +02:00
Fabio Alessandrelli 6fd9982358 [TLS] Add support for platform-specific CA bundles.
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.

The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.

mbedTLS will fall back to bundled certificates when the OS returns no
certificates.

(*) LinuxBSD does not have a standardized certificates store location.
    The current implementation will test for common locations and may
    return an empty string on some distributions (falling back to the
    bundled certificates).
2023-05-12 09:58:23 +02:00
David Snopek 87fcee2d7f Fix 'linux' and specific BSD feature tags 2023-05-11 16:58:52 -05:00
Riteo a7542070ae Check DBus loading status before attempting to detect its version
Fixes two related segfaults caused by running the DBus version check
unconditionally and potentially calling null function pointers.

This was clearly an oversight as all the other wrappers have proper
loading status checks.
2023-05-11 19:29:10 +02:00
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde 0c7c35bdc6
Merge pull request #76924 from stolk/fixuninit
x11: Do not use uninitialized timestamps.
2023-05-11 11:48:23 +02:00
Rémi Verschelde a1db628eb3
Merge pull request #76856 from HolonProduction/macos-specific
Don't expose macOS and iOS specific display servers.
2023-05-11 11:47:58 +02:00
HolonProduction ddcb2d157d Don't expose mac specific display server. 2023-05-11 11:02:08 +02:00
Bram Stolk 7a2e350d2b x11: Do not use uninitialized timestamps.
Fixes #76922
2023-05-10 11:27:14 -07:00
Rémi Verschelde 74e5ad5c60
Merge pull request #76165 from and-rad/safe-credentials
Store sensitive export options in dedicated credentials file
2023-05-10 12:47:07 +02:00
Andreas Raddau fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +02:00
Ninni Pipping 6bccdec7a1 Make documentation sorting use natural order 2023-05-09 17:47:52 +02:00
Rémi Verschelde e56427b4f5
Merge pull request #76868 from chfoo/issue-72728
Ensure WindowData minimized/maximized are mutually exclusive
2023-05-09 17:44:53 +02:00
Rémi Verschelde d550fdd7a4
Merge pull request #76791 from OmarShehata/fix-android-double-tap
Fix double tap & drag on Android
2023-05-09 10:45:59 +02:00
Omar Shehata 0c94750642 Fix double tap & drag on Android 2023-05-08 21:15:37 -04:00
Christopher Foo e4d052e284
Ensure WindowData minimized/maximized are mutually exclusive
The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
2023-05-08 20:23:45 -04:00
Rémi Verschelde 491a437df5
Merge pull request #76540 from reduz/redo-remote-filesystem
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
Juan Linietsky 273a6eeb66 Redo how the remote filesystem works
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.

The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.

Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Davi 65236fe2d5 Fix building the Windows x86_32 target
In x86_32, `ULONG_PTR` and `SIZE_T` are defined as `unsigned long`, which is not a type supported by Variant without the `NEED_LONG_INT` define.
2023-05-07 11:01:20 -03:00
UltraBIF 8106d33d0f Fixed various typos across the docs 2023-05-02 18:24:32 -04:00
shendo 92ade92fce [Android] Fix dynamic Variant params stack constructions in JNI callbacks
Emitting signals with params from Android plugins could crash due to
object assignment with uninitialised mem.  Instead, use 'memnew_placement'
to construct into stack addresses.  Make similar JNI callbacks consistent.

Fixes #75754.
2023-05-01 16:31:23 +10:00
Fredia Huya-Kouadio 0d569bea5d Update the gradle build tasks to generate play store builds.
Configure the gradle builds to sign and build the release version of the Godot Android Editor
2023-04-27 22:08:55 -07:00
Rémi Verschelde 390aed9f11
Merge pull request #76510 from bruvzg/ios_conv_lib_load
[iOS] Fix loading of GDExtension dylibs auto converted to framework.
2023-04-27 23:56:36 +02:00
Samuele Panzeri 4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
bruvzg ad4d565ee7
[iOS] Fix loading of GDExtension dylibs auto converted to framework. 2023-04-27 19:04:12 +03:00
Rémi Verschelde e1075e9c7c
Fix various typos with codespell
Also includes the grammar fix from #76206.

Co-authored-by: Peter Anderson <BWPanda@users.noreply.github.com>
2023-04-26 13:57:09 +02:00
Rémi Verschelde 8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02:00
Rémi Verschelde fdb058f4df
Merge pull request #76464 from m4gr3d/fix_gl_window_resize_main
Fix issue with resizing the display on Android when using the compatibility renderer
2023-04-26 11:36:06 +02:00
Rémi Verschelde b58873b98a
Merge pull request #69833 from Eoin-ONeill-Yokai/audio_invalid_mixrate
Fix crash caused by invalid mix_rate assignment due to bogus project settings.
2023-04-26 11:35:37 +02:00
Fredia Huya-Kouadio b438b4a490 Fix issue with resizing the display on Android when using the compatibility renderer. 2023-04-26 00:43:13 -07:00
Eoin O'Neill 5a08091168 Fix crash caused by invalid mix_rate assignment due to bogus
project settings.

We'll default to a sensible value in the case that a user has
somehow managed to modify the configuration file incorrectly.

Closes 69819
2023-04-25 23:52:50 -07:00
Rémi Verschelde 5e383f3e3d
Merge pull request #76428 from bruvzg/finder_open
[macOS] Implement OS::shell_show_in_file_manager()
2023-04-25 14:44:13 +02:00
Rémi Verschelde 92e5f4f73a
Merge pull request #76037 from theromis/master
iOS splash screen rotation fix
2023-04-25 14:43:53 +02:00
Rémi Verschelde 53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
Fix thread IDs.
2023-04-25 13:20:46 +02:00
bruvzg a97225c753
[macOS] Implement OS::shell_show_in_file_manager() 2023-04-25 11:48:41 +03:00
Rémi Verschelde 76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Rémi Verschelde 60a335b24b
Merge pull request #76394 from bruvzg/macos_1013
[macOS] Bump min. version to 10.13, and remove deprecated code.
2023-04-24 16:48:25 +02:00
Juan Linietsky a37c30dfc9 Fix thread IDs.
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.

This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg 628f3b2f79
[OS] Implement and expose to scripting APIs `get_memory_info` method instead of old `get_free_static_memory`. 2023-04-24 14:08:55 +03:00
bruvzg fd3e7e25e8
[macOS] Bump min. version to 10.13, and remove deprecated code. 2023-04-24 10:52:50 +03:00
Rémi Verschelde 220d44eff4
Merge pull request #76325 from m4gr3d/downgrade_agp_main
Downgrade android gradle plugin to version 7.2.1.
2023-04-22 13:19:57 +02:00
Fredia Huya-Kouadio 4507d3a38c Downgrade android gradle plugin to version 7.2.1.
Version 7.3.0 changes the build layout which causes updates to the generated shared libraries to not be picked up.
2023-04-21 14:34:07 -07:00
Hugo Locurcio 303bf247de
Add support for VRAM-compressed custom mouse cursor images
No memory is actually saved when using this, so lossless modes are
still recommended as they look better and load faster.
2023-04-21 18:01:47 +02:00
bruvzg a5128e71bb
[Export docs] Move docs to platform folders. 2023-04-20 11:02:12 +03:00
Yuri Sizov 8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
Rémi Verschelde 989fa49e71
Merge pull request #75219 from bruvzg/get_focus_screen
Add project manager / editor initial screen settings, implement `get_keyboard_focus_screen` method.
2023-04-19 10:13:44 +02:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
bruvzg 0088981c40
[Export] Add readable descriptions and validation warnings to the export options. 2023-04-19 08:35:59 +03:00
Rémi Verschelde c2edf14faf
Merge pull request #75881 from bruvzg/win_coinit
[Windows] Cleanup COM library initialization/uninitialization.
2023-04-18 23:40:06 +02:00
Rémi Verschelde c4dba9a5ef
Merge pull request #75880 from bruvzg/win_tts_queue_fix
[Windows TTS] Fix queuing utterances in rapid succession.
2023-04-18 23:39:42 +02:00
Rémi Verschelde efa01d36b6
Merge pull request #75383 from bruvzg/dll_deps_detect
[Windows] Detect missing DLL dependencies and list them in the open_dynamic_library error message.
2023-04-18 23:39:16 +02:00
Rémi Verschelde 63d17df83e
Merge pull request #74978 from bruvzg/linux_version_check
[Linux/BSD] Add dynamically loaded library version checks.
2023-04-18 23:38:51 +02:00
Danil Alexeev 36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Yuri Sizov f5f796b0b7
Merge pull request #76040 from MightiestGoat/fix-sliding-window-linux-via-tracking-parent
Fix the sliding window problem in linux occur due to reparenting of the window due to decoration.
2023-04-14 13:11:36 +02:00
mightygoat 932afc3bf5 Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window 2023-04-14 00:45:34 +05:30
Roman Vasilyev 8fcca194a1 ios splash screen rotation fix 2023-04-13 11:32:52 -07:00
Jason Knight f8699d93f6 Fix potential null in android text entry system. 2023-04-12 09:18:11 -06:00
kobewi a3799208c0 Rename console script to wrapper 2023-04-12 15:14:51 +02:00
Rémi Verschelde 95791889e2
Merge pull request #75933 from akien-mga/windows-tts-hashmap
Windows TTS: Use HashMap instead of RBMap for ids
2023-04-11 19:41:03 +02:00
Rémi Verschelde f7f7250c0d
Merge pull request #75827 from Kvel2D/fix-custom-cursor-atlas-texture-bug
Fix custom cursor using atlas texture
2023-04-11 19:40:44 +02:00
Rémi Verschelde 5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde 02b9a9268a
Merge pull request #74326 from mjunix/patch-1
macOS export: Fix validation of codesigning certificate password
2023-04-11 19:40:11 +02:00
Kvel2D 41f0a523db Fix custom cursor using atlas texture
Remove image.is_valid() check
There is already a fail condition and image is not used before that
Move up texture_is_valid() check
2023-04-11 19:16:24 +02:00
Johan Mattsson 76e1d1363b
macOS export: Fix validation of codesigning certificate password 2023-04-11 18:45:46 +02:00
Rémi Verschelde 92b9806dcc
Windows TTS: Use HashMap instead of RBMap for ids
And fixup includes in other implementations.
2023-04-11 15:54:21 +02:00
bruvzg a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
bruvzg 83dc545ea2 [Windows] Cleanup COM library initialization/uninitialization. 2023-04-10 10:38:25 +03:00
bruvzg a9d326db60 [Windows TTS] Fix queuing utterances in rapid succession. 2023-04-10 10:24:40 +03:00
bruvzg 744bf604bf [Web] Fix keycode/physical keycode mixed up. 2023-04-06 09:40:59 +03:00
Ron B. Yeh c8cbc67156 Rename `iconpath => icon_path` & `hasicon => has_icon`. 2023-04-04 17:05:37 -07:00
Rémi Verschelde 7aa224291b
Merge pull request #73200 from 0xafbf/fix-guide-button-win
Fix guide button detection with XInput and Xbox Series controllers
2023-04-03 15:58:36 +02:00
Yuri Sizov db77702177
Merge pull request #75254 from bruvzg/macos_menu_cb_loop
[macOS] Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog.
2023-03-30 23:09:42 +02:00
Yuri Sizov 80528c17c7
Merge pull request #75461 from Sabrehull/keycode-fix
[X11] Fix layout bug in `keyboard_get_keycode_from_physical`
2023-03-30 18:24:33 +02:00
Yuri Sizov c29866dbc0
Merge pull request #75203 from m4gr3d/bump_target_sdk_33_main
Bump the target SDK version to 33 (Android 13)
2023-03-29 20:18:39 +02:00
Sabrehull d4b7466266
[X11] Fix layout bug in `keyboard_get_keycode_from_physical` 2023-03-29 15:18:31 +02:00
bruvzg 68163f5643 [Windows] Detect missing DLL dependencies and list them in the open_dynamic_library error message. 2023-03-27 12:18:15 +03:00
bruvzg 48730e3b77
[macOS] Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog. 2023-03-23 13:38:12 +02:00
Fredia Huya-Kouadio 845ca33c76 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:09 -07:00
ator-dev dfb405b702 Fix "Download Project Source" for Web Editor
- Correctly pass safe project name and safe datetime to `vformat`
2023-03-21 19:20:52 +00:00
Yuri Sizov 0067578b5b
Merge pull request #75146 from m4gr3d/fix_directory_access_with_all_files_access_permission_main
Fix directory access when the running app has the `All files access` permission
2023-03-21 14:43:14 +01:00
bruvzg e6067a39b5
[Windows] Remove meta_mem update on keyup/keydown. 2023-03-21 09:16:10 +02:00
Fredia Huya-Kouadio f02e4e4091 Fix directory access when the running app has the `All files access` permission 2023-03-20 08:56:04 -07:00
Yuri Sizov 8e87806c8e
Merge pull request #75106 from m4gr3d/set_vulkan_level_optional_main
Make vulkan level 1 an optional requirement
2023-03-20 15:28:58 +01:00
bruvzg ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows. 2023-03-20 14:58:21 +02:00
bruvzg 09465f3fe6
Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
bruvzg bed46f723c
[Linux/BSD] Add dynamically loaded library version checks. 2023-03-20 08:10:56 +02:00
Fredia Huya-Kouadio f67d7fa137 Make vulkan level 1 an optional requirement 2023-03-19 08:54:12 -07:00
Yuri Sizov 2dc16f3c58
Merge pull request #74066 from m4gr3d/add_vulkan_version_filter_main
Add feature check to require min Vulkan api version 1.0 on Android
2023-03-16 13:08:09 +01:00
bruvzg 42a30c76d9
[macOS] Remove unnecessary debug prints. 2023-03-14 20:04:58 +02:00
John Veness 4505049ba6 Corrected capitalisation of macOS
In documentation and comments, ignoring thirdparty code
2023-03-12 16:48:52 +00:00
Malcolm Nixon d186b7438f Fix null-pointer dereference on Android systems when using gl_compatibility renderer. 2023-03-11 12:03:55 -05:00
Rémi Verschelde fcbb3e6388
Merge pull request #74702 from bruvzg/ts_inv_font_metrics
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.
2023-03-10 14:06:14 +01:00
Rémi Verschelde 9b8c4d2629
Merge pull request #74673 from lewiji/android_provider_path
Add "filesRoot" path to Android provider paths xml
2023-03-10 14:05:04 +01:00