godot/platform/windows
Joel Croteau 6e78eec37f
Fix reload of GDExtension libraries in framework package on macos
`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.

(cherry picked from commit f44d6a235f)
2024-09-16 16:55:39 +02:00
..
doc_classes D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
export D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
README.md Minor typo and docs URL fixes 2023-02-28 13:38:01 +01:00
SCsub D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
console_wrapper_windows.cpp [Windows] Improve console IO redirection. 2024-04-27 00:40:17 +03:00
crash_handler_windows.h [Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
crash_handler_windows_seh.cpp [Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
crash_handler_windows_signal.cpp [Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
detect.py [Windows] Remove libSynchronization 2024-07-27 17:12:27 +03:00
display_server_windows.cpp DisplayServerWindows: Fix logic when creating with transient parent 2024-08-15 04:10:15 +08:00
display_server_windows.h Merge pull request #94428 from alvinhochun/windows-angle-resize-sync 2024-07-31 11:37:37 +02:00
gl_manager_windows_angle.cpp Windows: Update ANGLE surface size when window is resized 2024-07-16 17:01:42 +08:00
gl_manager_windows_angle.h Windows: Update ANGLE surface size when window is resized 2024-07-16 17:01:42 +08:00
gl_manager_windows_native.cpp [Windows] Use default aggregate initialization for NVAPI settings 2024-07-25 14:41:46 +02:00
gl_manager_windows_native.h [Windows] Disable G-SYNC in windowed mode 2024-06-29 13:40:15 +02:00
godot.ico [Windows] Optimize editor icon, use different icon for console executable. 2022-11-29 09:39:03 +02:00
godot.natvis Style: Trim trailing whitespace and ensure newline at EOF 2024-05-08 10:12:46 +02:00
godot_console.ico [Windows] Optimize editor icon, use different icon for console executable. 2022-11-29 09:39:03 +02:00
godot_res.rc Windows: Implement `DisplayServer::dialog_show` and `DisplayServer::dialog_input_text` 2024-03-04 12:53:22 -08:00
godot_res_wrap.rc Remove now unused `year` member from `version.py` 2024-01-25 15:08:34 +01:00
godot_windows.cpp [Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
joypad_windows.cpp Reduce and prevent unnecessary random-access to `List` 2024-05-04 16:08:55 +02:00
joypad_windows.h Reduce and prevent unnecessary random-access to `List` 2024-05-04 16:08:55 +02:00
key_mapping_windows.cpp Add InputEventKey.location to tell left from right 2024-01-26 14:42:28 +01:00
key_mapping_windows.h Add InputEventKey.location to tell left from right 2024-01-26 14:42:28 +01:00
lang_table.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
msvs.py Add new VS proj generation logic that supports any platform that wants to opt in 2024-01-31 16:42:42 +01:00
native_menu_windows.cpp [NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method. 2024-07-08 11:20:28 +03:00
native_menu_windows.h [NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method. 2024-07-08 11:20:28 +03:00
os_windows.cpp Fix reload of GDExtension libraries in framework package on macos 2024-09-16 16:55:39 +02:00
os_windows.h Collapse the gdextension arguments into the `GDExtensionData` struct 2024-04-19 07:56:02 -07:00
platform_config.h [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching. 2023-09-21 14:21:00 +03:00
platform_gl.h [macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching. 2023-09-21 14:21:00 +03:00
platform_windows_builders.py Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 -05:00
rendering_context_driver_vulkan_windows.cpp Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
rendering_context_driver_vulkan_windows.h Avoid compiler error with RenderingContextDriverVulkanWindows. 2024-04-06 15:53:10 -07:00
tts_windows.cpp clang-tidy: Enforce `modernize-use-nullptr` 2024-03-12 10:59:53 -05:00
tts_windows.h Windows TTS: Use HashMap instead of RBMap for ids 2023-04-11 15:54:21 +02:00
wgl_detect_version.cpp clang-tidy: Enforce `modernize-use-nullptr` 2024-03-12 10:59:53 -05:00
wgl_detect_version.h [ANGLE] Add fallback control options and defaults. 2023-10-03 16:23:43 +03:00
windows_terminal_logger.cpp [Windows] Use CRLF in the terminal prints. 2024-05-20 14:23:17 +03:00
windows_terminal_logger.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
windows_utils.cpp Fix type-limits warning in windows_utils 2024-06-22 23:04:00 +02:00
windows_utils.h Add renaming of PDB files to avoid blocking them 2024-04-05 00:14:23 +03:00

README.md

Windows platform port

This folder contains the C++ code for the Windows platform port.

See also misc/dist/windows folder for additional files used by this platform.

Documentation