Author: mhabersack
Date: 2007-01-19 16:40:24 -0500 (Fri, 19 Jan 2007)
New Revision: 71367

Modified:
   trunk/mcs/class/corlib/System/AppDomain.cs
   trunk/mcs/class/corlib/System/ChangeLog
Log:
Fix for bug #80547

Modified: trunk/mcs/class/corlib/System/AppDomain.cs
===================================================================
--- trunk/mcs/class/corlib/System/AppDomain.cs  2007-01-19 20:58:15 UTC (rev 
71366)
+++ trunk/mcs/class/corlib/System/AppDomain.cs  2007-01-19 21:40:24 UTC (rev 
71367)
@@ -712,9 +712,9 @@
                        if (friendlyName == null)
                                throw new System.ArgumentNullException 
("friendlyName");
 
+                       AppDomain def = AppDomain.DefaultDomain;
                        if (info == null) {
-                               // if null, get default domain's 
SetupInformation
-                               AppDomain def = AppDomain.DefaultDomain;
+                               // if null, get default domain's 
SetupInformation       
                                if (def == null)
                                        info = new AppDomainSetup ();   // 
we're default!
                                else
@@ -724,11 +724,15 @@
                                info = new AppDomainSetup (info);       // copy
 
                        // todo: allow setup in the other domain
+                       if (def != null) {
+                               if (!info.Equals (def.SetupInformation) && 
info.ConfigurationFile == null)
+                                       info.ConfigurationFile = 
def.SetupInformation.ConfigurationFile;
+                       } else if (info.ConfigurationFile == null)
+                               info.ConfigurationFile = "[I don't have a 
config file]";
 
                        AppDomain ad = (AppDomain) 
RemotingServices.GetDomainProxy (createDomain (friendlyName, info));
                        if (securityInfo == null) {
                                // get default domain's Evidence (unless we're 
are the default!)
-                               AppDomain def = AppDomain.DefaultDomain; 
                                if (def == null)
                                        ad._evidence = null;            // 
we'll get them later (GetEntryAssembly)
                                else

Modified: trunk/mcs/class/corlib/System/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/System/ChangeLog     2007-01-19 20:58:15 UTC (rev 
71366)
+++ trunk/mcs/class/corlib/System/ChangeLog     2007-01-19 21:40:24 UTC (rev 
71367)
@@ -1,3 +1,10 @@
+2007-01-19  Marek Habersack  <[EMAIL PROTECTED]>
+
+       * AppDomain.cs: Make sure that domain
+       SetupInformation.ConfigurationFile is never null. MS.NET by
+       default copies the default domain's ConfigurationFile value
+       there. Fixes bug #80547.
+
 2007-01-14  Jensen Somers <[EMAIL PROTECTED]>
 
     * ArraySegment.cs: Added Equals() method, operator == and !=

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to