diff options
author | Zoltan Varga <vargaz@gmail.com> | 2004-10-25 18:53:50 +0400 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2004-10-25 18:53:50 +0400 |
commit | 2372f9b33c371001207a3a353e21b84428a4778e (patch) | |
tree | 8c921c0c907651c28e4a01a7caa31bd52ac5a25a | |
parent | cabb02a5afcb9e9fdc2a30d6f3a00b0d80819842 (diff) |
2004-10-25 Zoltan Varga <vargaz@freemail.hu>
* appdomain.c (ves_icall_System_AppDomain_ExecuteAssembly): Fix
argument of mono_get_exception_file_not_found.
* assembly.c (mono_assembly_names_equal): Compare the cultures as well,
so multiple satellite assemblies for the same name can be loaded.
Fixes #68259.
* appdomain.c (mono_domain_assembly_preload): Actually return the loaded assembly,
not NULL.
svn path=/branches/mono-1-0/mono/; revision=35305
-rw-r--r-- | mono/metadata/ChangeLog | 10 | ||||
-rw-r--r-- | mono/metadata/appdomain.c | 4 | ||||
-rw-r--r-- | mono/metadata/assembly.c | 3 |
3 files changed, 15 insertions, 2 deletions
diff --git a/mono/metadata/ChangeLog b/mono/metadata/ChangeLog index ddf50ac5ea2..753d6963284 100644 --- a/mono/metadata/ChangeLog +++ b/mono/metadata/ChangeLog @@ -1,5 +1,15 @@ 2004-10-25 Zoltan Varga <vargaz@freemail.hu> + * appdomain.c (ves_icall_System_AppDomain_ExecuteAssembly): Fix + argument of mono_get_exception_file_not_found. + + * assembly.c (mono_assembly_names_equal): Compare the cultures as well, + so multiple satellite assemblies for the same name can be loaded. + Fixes #68259. + + * appdomain.c (mono_domain_assembly_preload): Actually return the loaded assembly, + not NULL. + * icall.c (ves_icall_type_is_subtype_of): Fix this for byref types. (ves_icall_type_is_assignable_from): Ditto. Fixes #68582. diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index c87e2b01bf2..876129c7d92 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -776,7 +776,7 @@ mono_domain_assembly_preload (MonoAssemblyName *aname, result = real_load (assemblies_path, aname->culture, aname->name); } - return NULL; + return result; } MonoReflectionAssembly * @@ -1021,7 +1021,7 @@ ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, MonoString *file, g_free (filename); if (!assembly) - mono_raise_exception (mono_get_exception_file_not_found (filename)); + mono_raise_exception (mono_get_exception_file_not_found (file)); image = assembly->image; diff --git a/mono/metadata/assembly.c b/mono/metadata/assembly.c index a0ec7467f38..ff545ab42b8 100644 --- a/mono/metadata/assembly.c +++ b/mono/metadata/assembly.c @@ -128,6 +128,9 @@ mono_assembly_names_equal (MonoAssemblyName *l, MonoAssemblyName *r) if (strcmp (l->name, r->name)) return FALSE; + if ((l->culture && !r->culture) || (!l->culture && r->culture) || strcmp (l->culture, r->culture)) + return FALSE; + /* * simply compare names until some other issues are resolved * (version info not getting set correctly for custom |