mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
f44d6a235f
`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. |
||
---|---|---|
.. | ||
dir_access_unix.cpp | ||
dir_access_unix.h | ||
file_access_unix_pipe.cpp | ||
file_access_unix_pipe.h | ||
file_access_unix.cpp | ||
file_access_unix.h | ||
ip_unix.cpp | ||
ip_unix.h | ||
net_socket_posix.cpp | ||
net_socket_posix.h | ||
os_unix.cpp | ||
os_unix.h | ||
SCsub | ||
syslog_logger.cpp | ||
syslog_logger.h | ||
thread_posix.cpp | ||
thread_posix.h |