Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2004-10-25 18:53:50 +0400
committerZoltan Varga <vargaz@gmail.com>2004-10-25 18:53:50 +0400
commit2372f9b33c371001207a3a353e21b84428a4778e (patch)
tree8c921c0c907651c28e4a01a7caa31bd52ac5a25a
parentcabb02a5afcb9e9fdc2a30d6f3a00b0d80819842 (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/ChangeLog10
-rw-r--r--mono/metadata/appdomain.c4
-rw-r--r--mono/metadata/assembly.c3
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