diff options
author | Daylily-Zeleen <daylily-zeleen@foxmail.com> | 2024-01-01 19:48:28 +0800 |
---|---|---|
committer | Daylily-Zeleen <daylily-zeleen@foxmail.com> | 2024-01-01 20:01:57 +0800 |
commit | fe6b07381189adb57dbc78150eab602044d541d0 (patch) | |
tree | d6165ce6de632475f76a4de13d462ec3db8d9225 /drivers/unix | |
parent | 13a0d6e9b253654f5cc2a44f3d0b3cae10440443 (diff) | |
download | redot-engine-fe6b07381189adb57dbc78150eab602044d541d0.tar.gz |
Distinguishs between dynamic library not found and can't be opened.
Diffstat (limited to 'drivers/unix')
-rw-r--r-- | drivers/unix/os_unix.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/unix/os_unix.cpp b/drivers/unix/os_unix.cpp index 9a77930d75..50abd5af42 100644 --- a/drivers/unix/os_unix.cpp +++ b/drivers/unix/os_unix.cpp @@ -656,6 +656,8 @@ Error OS_Unix::open_dynamic_library(const String p_path, void *&p_library_handle path = get_executable_path().get_base_dir().path_join("../lib").path_join(p_path.get_file()); } + ERR_FAIL_COND_V(!FileAccess::exists(path), ERR_FILE_NOT_FOUND); + p_library_handle = dlopen(path.utf8().get_data(), GODOT_DLOPEN_MODE); ERR_FAIL_NULL_V_MSG(p_library_handle, ERR_CANT_OPEN, vformat("Can't open dynamic library: %s. Error: %s.", p_path, dlerror())); |