+2004-09-16 Zoltan Varga <vargaz@freemail.hu>
+
+ * appdomain.c (ves_icall_System_AppDomain_createDomain): Load all
+ assemblies from the parent. Fixes #65665.
+
2004-09-14 Lluis Sanchez Gual <lluis@novell.com>
* object.c: Added a "done" flag to TypeInitializationLock. This avoids
static void
mono_domain_fire_assembly_load (MonoAssembly *assembly, gpointer user_data);
+static void
+add_assemblies_to_domain (MonoDomain *domain, MonoAssembly *ass);
+
static MonoMethod *
look_for_method_by_name (MonoClass *klass, const gchar *name);
return add->domain;
}
+static void
+add_assembly_to_domain (gpointer key, gpointer value, gpointer user_data)
+{
+ add_assemblies_to_domain ((MonoDomain*)user_data, (MonoAssembly*)value);
+}
+
MonoAppDomain *
ves_icall_System_AppDomain_createDomain (MonoString *friendly_name, MonoAppDomainSetup *setup)
{
- /*MonoDomain *domain = mono_domain_get (); */
+ MonoDomain *domain = mono_domain_get ();
MonoClass *adclass;
MonoAppDomain *ad;
MonoDomain *data;
mono_context_init (data);
- /* FIXME: what to do next ? */
+ /* The new appdomain should have all assemblies loaded */
+ mono_domain_lock (domain);
+ g_hash_table_foreach (domain->assemblies, add_assembly_to_domain, data);
+ mono_domain_unlock (domain);
return ad;
}