summaryrefslogtreecommitdiffstats
path: root/drivers/unix
diff options
context:
space:
mode:
authorDaylily-Zeleen <daylily-zeleen@foxmail.com>2024-01-01 19:48:28 +0800
committerDaylily-Zeleen <daylily-zeleen@foxmail.com>2024-01-01 20:01:57 +0800
commitfe6b07381189adb57dbc78150eab602044d541d0 (patch)
treed6165ce6de632475f76a4de13d462ec3db8d9225 /drivers/unix
parent13a0d6e9b253654f5cc2a44f3d0b3cae10440443 (diff)
downloadredot-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.cpp2
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()));