Fix dot separated assembly names confused with file extensions

This commit is contained in:
Ignacio Etcheverry 2017-10-07 22:00:30 +02:00
parent 5ab3537179
commit eb920406ae
2 changed files with 3 additions and 5 deletions

View file

@ -285,8 +285,7 @@ bool GDMono::_load_assembly(const String &p_name, GDMonoAssembly **r_assembly) {
MonoAssembly *assembly = mono_assembly_load_full(aname, NULL, &status, false);
mono_assembly_name_free(aname);
if (!assembly)
return false;
ERR_FAIL_NULL_V(assembly, false);
uint32_t domain_id = mono_domain_get_id(mono_domain_get());

View file

@ -47,18 +47,17 @@ MonoAssembly *GDMonoAssembly::_search_hook(MonoAssemblyName *aname, void *user_d
(void)user_data; // UNUSED
String name = mono_assembly_name_get_name(aname);
bool has_extension = name.ends_with(".dll") || name.ends_with(".exe");
if (no_search)
return NULL;
no_search = true; // Avoid the recursion madness
GDMonoAssembly **loaded_asm = GDMono::get_singleton()->get_loaded_assembly(name.get_basename());
GDMonoAssembly **loaded_asm = GDMono::get_singleton()->get_loaded_assembly(has_extension ? name.get_basename() : name);
if (loaded_asm)
return (*loaded_asm)->get_assembly();
bool has_extension = name.ends_with(".dll") || name.ends_with(".exe");
String path;
MonoAssembly *res = NULL;