summaryrefslogtreecommitdiffstats
path: root/platform/windows/os_windows.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Style: Apply `clang-tidy` fixes (superficial)Thaddeus Crews2024-11-041-7/+7
| | | | • `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
* Set clang-format `RemoveSemicolon` rule to `true`Adam Scott2024-10-251-1/+1
| | | | - Set clang-format `Standard` rule to `c++20`
* Merge pull request #94839 from alvinhochun/win-set-console-modeRémi Verschelde2024-09-181-1/+3
|\ | | | | | | Combine existing modes when calling SetConsoleMode
| * Combine existing modes when calling SetConsoleModeAlvin Wong2024-07-281-1/+3
| | | | | | | | | | Otherwise the default modes will be cleared, which causes long lines to be truncated in some terminals (e.g. Windows Terminal).
* | [Windows] Only use long executable path when necessary, fix broken apksigner ↵bruvzg2024-09-101-1/+1
| | | | | | | | detection.
* | Add support for non-blocking IO mode to `OS.execute_with_pipe`.bruvzg2024-09-061-3/+3
| |
* | [Windows] Use the same API for all `OS_Windows::*_environment` functions.bruvzg2024-09-031-10/+1
| |
* | [Windows] Fix OS.open_dynamic_librarybruvzg2024-08-281-5/+5
| |
* | [Windows] Always use absolute UNC paths and long path aware APIs, add "long ↵bruvzg2024-08-281-22/+89
| | | | | | | | path aware" flag to the application manifest.
* | Merge pull request #96192 from dsnopek/windows-gdext-adddlldirectoryRémi Verschelde2024-08-281-1/+2
|\ \ | | | | | | | | | Windows: Call `AddDllDirectory()` with an absolute path
| * | Windows: Call `AddDllDirectory()` with an absolute pathDavid Snopek2024-08-271-1/+2
| | |
* | | Merge pull request #93985 from alvinhochun/windows-gpu-prefRémi Verschelde2024-08-281-0/+66
|\ \ \ | |/ / |/| | | | | Respect integrated GPU preference in Windows Settings
| * | Support GPU preference for MS Store packaged appsAlvin Wong2024-07-161-5/+23
| | |
| * | Respect integrated GPU preference in Windows SettingsAlvin Wong2024-07-161-0/+48
| |/
* | Remove confusing USER prefix from script-logged errorsSébastien Dunne Fulmer2024-08-271-8/+2
| |
* | Fix reload of GDExtension libraries in framework package on macosJoel Croteau2024-08-081-15/+15
|/ | | | | | | | | | | | | | | | | | | | | `GDExtension::open_library` has a check in it to see if the library was loaded from a temp file, and if it was to restore the original name as that is the one we actually care about. This check is breaking extension reloading on Mac when the library path is to a framework folder, as the file inside the framework will not generally be the same name as the folder. This check also shouldn't be necessary even on Windows, which is the only platform that uses `generate_temp_files`, since disposal of the created temp file is handled within `OS_Windows::open_dynamic_library`, and `GDExtension::open_library` (which is the only function to call `open_dynamic_library` with a `p_data` argument) only cares about the original library file path and has to do extra work to remove the name of the temp file. Instead, I have removed that check and set `OS_Windows::open_dynamic_library` to return the name of the original file and not the name of the copy. This fixes GDExtension reloading on macOS. I do not have a Windows machine available to test that it still works properly on Windows, so someone should check that before merging this.
* Remove unused `is_wow64` method in `OS_Windows`Rémi Verschelde2024-07-111-20/+0
| | | | | It was added in b4d369c88 for `get_processor_count`, but this was later changed to rely on `std::thread` in 6bf02c016.
* [Windows] Improve console IO redirection.bruvzg2024-04-271-7/+27
|
* Collapse the gdextension arguments into the `GDExtensionData` structFredia Huya-Kouadio2024-04-191-8/+8
| | | | This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
* Fix loading GDExtension dependencies on AndroidFredia Huya-Kouadio2024-04-191-1/+1
|
* Add get_process_exit_code() methodkobewi2024-04-161-1/+40
|
* Add renaming of PDB files to avoid blocking themDmitriySalnikov2024-04-051-3/+60
|
* Implement `OS.execute_with_pipe` method to run process with redirected stdio.bruvzg2024-03-271-0/+101
| | | | Implement `pipe://*` path handling for creation of named pipes.
* clang-tidy: Enforce `modernize-use-nullptr`Thaddeus Crews2024-03-121-14/+14
|
* Add const lvalue ref to core/* container parametersMuller-Castro2024-02-141-3/+3
|
* Merge pull request #86682 from ↵Rémi Verschelde2024-01-021-0/+2
|\ | | | | | | | | | | Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open Distinguish between dynamic library not found and can't be opened.
| * Distinguishs between dynamic library not found and can't be opened.Daylily-Zeleen2024-01-011-0/+2
| |
* | Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to ↵Septian2023-12-271-2/+2
|/ | | | return correct value
* [Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicableA Thousand Ships2023-09-121-2/+2
|
* Windows: Always double-quote path when launching explorer.exe to browseBrecht Kuppens2023-08-281-7/+2
| | | | | | | | | | 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.
* [Windows] Initialize COM as apartment-threaded.bruvzg2023-07-201-1/+1
|
* Fix formatting of dlopen error message on WindowsKamil Brzoskowski2023-07-091-3/+3
| | | | | | And harmonize the format for all platforms. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Style: Harmonize header includes in platform portsRémi Verschelde2023-06-081-4/+5
| | | | | | | | | | | | | | | | 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.
* Replace get_rendering_device() call to prevent crashes on OpenGL.MJacred2023-06-061-2/+2
| | | | And make OpenGL video adapter info align with Vulkan.
* Copy system info to clipboard + Update bug_report.ymlMJacred2023-05-271-3/+7
| | | | | | | | 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
* [TLS/Windows] Skip disallowed certs in the trusted CA list.Fabio Alessandrelli2023-05-141-1/+11
| | | | | | | | | 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.
* Merge pull request #76836 from Faless/tls/system_certsRémi Verschelde2023-05-121-0/+21
|\ | | | | | | [TLS] Add support for platform-specific CA bundles.
| * [TLS] Add support for platform-specific CA bundles.Fabio Alessandrelli2023-05-121-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* | Enable shadow warnings and fix raised errorsNinni Pipping2023-05-111-8/+6
|/
* Fix building the Windows x86_32 targetDavi2023-05-071-4/+4
| | | | 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.
* Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorerRémi Verschelde2023-04-251-0/+45
|\ | | | | | | Implement and expose OS::shell_show_in_file_manager()
| * Implement and expose OS::shell_show_in_file_manager()Daylily-Zeleen2023-04-251-0/+45
| |
* | [OS] Implement and expose to scripting APIs `get_memory_info` method instead ↵bruvzg2023-04-241-0/+38
|/ | | | of old `get_free_static_memory`.
* Merge pull request #75881 from bruvzg/win_coinitRémi Verschelde2023-04-181-3/+3
|\ | | | | | | [Windows] Cleanup COM library initialization/uninitialization.
| * [Windows] Cleanup COM library initialization/uninitialization.bruvzg2023-04-101-3/+3
| |
* | [Windows] Detect missing DLL dependencies and list them in the ↵bruvzg2023-03-271-3/+98
|/ | | | open_dynamic_library error message.
* Windows: Workaround missing DWRITE_FONT_WEIGHT value in old MinGWRémi Verschelde2023-03-051-0/+5
| | | | Fixes #74339.
* Fix Windows to Windows SSH remote deploy. Fix Windows `execute` exit code.bruvzg2023-02-271-2/+1
|
* Fixed a few godot engine 4 warnings on clang with Opengl and Windows apis.K. S. Ernest (iFire) Lee2023-01-301-3/+3
|
* Merge pull request #71220 from reduz/prevent-opening-windows-console-filesRémi Verschelde2023-01-211-0/+4
|\ | | | | | | Prevent opening Windows console files