Commit Graph

1283 Commits

Author SHA1 Message Date
Aitor Guevara fdfa59ee6c [Windows] Fix not applying NVIDIA profile to new executables
An NVIDIA profile is applied to the current executable to disable
threaded OpenGL optimizations on Windows (see #71472). But because the
application is only added to the profile upon the profile creation,
newer executables won't be added to the profile (e.g. if the profile is
created on first launch of Godot_v4.1-stable_win64.exe, when users
update the editor and launch Godot_v4.2-stable_win64.exe, the profile
will never be applied to this new executable).
This patch fixes that scenario by splitting creating the profile (if it
doesn't exist) and adding the application (if it doesn't have a profile
applied) into two separate steps.
Applications that have been manually added to a different profile aren't
overriden to avoid confusing users who know what they're doing.

(cherry picked from commit 6263774aec)
2023-10-24 18:17:02 +02:00
Brecht Kuppens 4944a07044 Windows: Always double-quote path when launching explorer.exe to browse
Code now always double quotes the filename to use as command line
argument when calling explorer.exe. In particular, commas in a filename
would be interpreted by explorer.exe as separators for commands.

Similarly a trim_suffix for "file://" is assumed to be a mistake, this
could potentially be a PREfix that we want to strip, but never a suffix.
Since it didn't seem needed in the end, we removed it.

(cherry picked from commit 5608b1d411)
2023-10-24 16:05:00 +02:00
bruvzg 02c6d985b8 Fix native popups auto-closing when interacting with non-client area.
(cherry picked from commit e26a6c36c8)
2023-10-19 21:45:11 +02:00
bruvzg eca105f075 [Windows] Do not force redraw window background on mouse pass-through region change.
(cherry picked from commit b240b5be84)
2023-10-19 21:21:02 +02:00
Tyler fed41ae520 Fix Windows console wrapper and icon being swapped
Fixes #80238.

(cherry picked from commit 3cf1e04579)
2023-09-21 15:43:10 +02:00
ocean (they/them) cd2e003a05 Build system: add option for MSVC incremental linking.
(cherry picked from commit bbafe14970)
2023-09-20 22:44:04 +02:00
bruvzg d3265cf518 [Windows] Add main executable to the console wrapper dependencies to prevent simultaneous linking.
(cherry picked from commit f37ace7036)
2023-09-20 22:44:04 +02:00
Rémi Verschelde 32b7664371 SCons: Disable misbehaving MSVC incremental linking
Fixes #77968.

(cherry picked from commit bc1aef88ee)
2023-09-20 22:44:04 +02:00
kleonc 053538c125 Fix byte to float color conversion in DisplayServerWindows::screen_get_pixel
(cherry picked from commit 9d45dd812f)
2023-08-31 20:19:31 +02:00
Kamil Brzoskowski 6becf94f49 Fix formatting of dlopen error message on Windows
And harmonize the format for all platforms.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
(cherry picked from commit 3cd865dbe8)
2023-07-10 18:09:57 +02:00
bruvzg fa45bb63c6 [Windows] Fix setting initial non-exclusive window mode.
(cherry picked from commit db0109b237)
2023-07-10 17:46:08 +02:00
bruvzg 221535c33c [Windows] Flash both the window caption and taskbar button on `request_attention`.
(cherry picked from commit 49af2582c4)
2023-07-10 17:26:14 +02:00
Rémi Verschelde d586096415
Merge pull request #72720 from pkdawson/fix-mouse-capture
DisplayServerWindows: Fix mouse capture when button up message is missed
2023-06-22 18:29:34 +02:00
Rémi Verschelde 90446fe9f3
SCons: Move platform logo/run icon to `export` folder
Follow-up to #75932.
Since these icons are only used by the export plugin, it makes sense to
move them and generate the headers there.

The whole `detect.is_active()` logic seems to be a leftover from before
times, as far back as 1.0-stable it already wasn't used for anything.

So I'm removing it and moving the export icon generation to
`platform_methods`, where it makes more sense.
2023-06-20 13:16:37 +02:00
Rémi Verschelde 356a602186
Merge pull request #74511 from AThousandShips/win_cursor_fix
Fix clearing custom cursor
2023-06-20 00:00:57 +02:00
Michael Alexsander 41a75cfa4f
Allow exporting release Android builds without a debug keystore 2023-06-19 01:00:13 -03:00
bitsawer 3c42496fb0 Fix Clang dev_mode build const string conversion 2023-06-16 14:54:36 +03:00
bruvzg 28db3c7158 [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
Álex Román Núñez 938a837056 Disable NVIDIA's threaded optimization on Windows 2023-06-13 11:47:40 +02:00
Rémi Verschelde 9e7349bda3
Merge pull request #78151 from jpcerrone/fix_windowed_move_problems
Fix window resizing problems on Windows
2023-06-13 10:27:14 +02:00
RedworkDE 5c57b3aba4 Fix docs after renaming export option 2023-06-12 23:59:55 +02:00
jpcerrone a80584664c Fix window resizing problems on Windows
Fixes godotengine#76847, Fixes godotengine#74286
Reorders problematic steps from the DisplayServerWindows::window_set_mode function.
These were causing a resize with the dimensions of the previously used mode instead
of the current one.
2023-06-12 15:26:34 -03:00
Rémi Verschelde 26e5a98306
Merge pull request #77770 from jpcerrone/fix_minimize_missing
Fix minimize button missing in non-resizable projects
2023-06-12 11:39:08 +02:00
Dominik 19ce63d875 Added a few additional GUIDs to list of hardcoded IDs in is_xinput_device 2023-06-09 15:02:19 +02:00
Rémi Verschelde 759309ba18
Merge pull request #77977 from zaevi/fix_windows_popup_ime
Fix IME doesn't work under Popup on Windows.
2023-06-09 11:06:02 +02:00
Rémi Verschelde 9e4315bb50
Style: Harmonize header includes in platform ports
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.

The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
Zae 1b149b7440 Fix IME doesn't work under Popup on Windows. 2023-06-08 02:40:36 +08:00
MJacred 2c5e2196bd Replace get_rendering_device() call to prevent crashes on OpenGL.
And make OpenGL video adapter info align with Vulkan.
2023-06-06 23:29:36 +02:00
Michael Alexsander 71d8882a02
Enhance icon fallback and their docs for exporters 2023-06-03 19:28:50 -03:00
jpcerrone c819da7fdb Fix minimize button missing in non-resizable projects.
Fixes https://github.com/godotengine/godot/issues/77603.
On Windows, disabling the 'resizable' flag on the project
settings would also remove the minimize button from the window.
2023-06-02 10:31:50 -03:00
Yuri Sizov c670c4334a
Merge pull request #65902 from MJacred/editor/copysysteminfo
Add an editor option to copy system info to clipboard
2023-05-27 20:11:54 +02:00
MJacred 9e5bf3d589 Copy system info to clipboard + Update bug_report.yml
plus minor static-related fixes
* linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times
* windows/linuxbsd: get_video_adapter_driver_info() writes info into static
* linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable
* windows/uwp/android: remove unnecessary use of static
2023-05-27 18:21:23 +02:00
Rémi Verschelde 774f4a7261
Merge pull request #73450 from Calinou/windows-vulkan-disable-amd-switchable-graphics
Disable AMD switchable graphics on Windows with Vulkan to fix driver issue
2023-05-24 08:44:46 +02:00
Rémi Verschelde 7ed55c8833
Merge pull request #77258 from RedworkDE/natvis-pdb-embeded
Embed natvis debug views in PDB
2023-05-22 13:49:15 +02:00
RedworkDE efa892b52a Embed natvis debug views in PDB
This means the debugger can load them automatically.
2023-05-20 00:08:35 +02:00
bruvzg 5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
bitsawer 68da61e74c Fix for Clang dev_mode Windows build 2023-05-17 19:35:37 +03:00
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
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 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
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
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +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
Andreas Raddau fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +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
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 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
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