From fe6b07381189adb57dbc78150eab602044d541d0 Mon Sep 17 00:00:00 2001 From: Daylily-Zeleen Date: Mon, 1 Jan 2024 19:48:28 +0800 Subject: Distinguishs between dynamic library not found and can't be opened. --- drivers/unix/os_unix.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/unix/os_unix.cpp') 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())); -- cgit v1.2.3