2
0
Эх сурвалжийг харах

Merge pull request #83734 from MarioLiebisch/fix-extension-load-error

GDExtension: Fixed error on loading extensions
Rémi Verschelde 1 жил өмнө
parent
commit
542f6e10eb

+ 9 - 7
core/extension/gdextension.cpp

@@ -959,13 +959,15 @@ Ref<Resource> GDExtensionResourceLoader::load(const String &p_path, const String
 	// object if one has already been loaded (even if caching is disabled at the resource
 	// loader level).
 	GDExtensionManager *manager = GDExtensionManager::get_singleton();
-	Ref<GDExtension> lib = manager->get_extension(p_path);
-	if (lib.is_null()) {
-		Error err = load_gdextension_resource(p_path, lib);
-		if (err != OK && r_error) {
-			// Errors already logged in load_gdextension_resource().
-			*r_error = err;
-		}
+	if (manager->is_extension_loaded(p_path)) {
+		return manager->get_extension(p_path);
+	}
+
+	Ref<GDExtension> lib;
+	Error err = load_gdextension_resource(p_path, lib);
+	if (err != OK && r_error) {
+		// Errors already logged in load_gdextension_resource().
+		*r_error = err;
 	}
 	return lib;
 }