Author: gonzalo
Date: 2005-03-22 22:23:17 -0500 (Tue, 22 Mar 2005)
New Revision: 42131
Modified:
branches/mono-1-0/mcs/class/corlib/System.Resources/ChangeLog
branches/mono-1-0/mcs/class/corlib/System.Resources/ResourceManager.cs
Log:
2005-03-22 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
* ResourceManager.cs: use culture.Equals in InternalGetResourceSet().
Modified: branches/mono-1-0/mcs/class/corlib/System.Resources/ChangeLog
===================================================================
--- branches/mono-1-0/mcs/class/corlib/System.Resources/ChangeLog
2005-03-23 03:22:49 UTC (rev 42130)
+++ branches/mono-1-0/mcs/class/corlib/System.Resources/ChangeLog
2005-03-23 03:23:17 UTC (rev 42131)
@@ -1,3 +1,7 @@
+2005-03-22 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
+
+ * ResourceManager.cs: use culture.Equals in InternalGetResourceSet().
+
2004-05-02 Sebastien Pouliot <[EMAIL PROTECTED]>
* ResourceManager.cs: Avoid endless recursion when a resource file
Modified: branches/mono-1-0/mcs/class/corlib/System.Resources/ResourceManager.cs
===================================================================
--- branches/mono-1-0/mcs/class/corlib/System.Resources/ResourceManager.cs
2005-03-23 03:22:49 UTC (rev 42130)
+++ branches/mono-1-0/mcs/class/corlib/System.Resources/ResourceManager.cs
2005-03-23 03:23:17 UTC (rev 42131)
@@ -269,6 +269,14 @@
}
}
+ static Stream GetManifestResourceStreamNoCase (Assembly ass,
string fn)
+ {
+ foreach (string s in ass.GetManifestResourceNames ())
+ if (String.Compare (fn, s, true,
CultureInfo.InvariantCulture) == 0)
+ return ass.GetManifestResourceStream
(s);
+ return null;
+ }
+
protected virtual ResourceSet InternalGetResourceSet
(CultureInfo culture, bool Createifnotexists, bool tryParents)
{
ResourceSet set;
@@ -292,6 +300,9 @@
string filename=GetResourceFileName(culture);
stream=MainAssembly.GetManifestResourceStream(filename);
+ if (stream == null)
+ stream =
GetManifestResourceStreamNoCase (MainAssembly, filename);
+
if(stream==null) {
/* Try a satellite assembly */
Version
sat_version=GetSatelliteContractVersion(MainAssembly);
@@ -299,6 +310,9 @@
try {
a =
MainAssembly.GetSatelliteAssembly (culture, sat_version);
stream=a.GetManifestResourceStream(filename);
+ if (stream == null)
+ stream =
GetManifestResourceStreamNoCase (a, filename);
+
} catch (Exception) {} // Ignored
}
@@ -313,11 +327,13 @@
* with it?
*/
set=(ResourceSet)Activator.CreateInstance(resourceSetType, args);
- } else if (culture ==
CultureInfo.InvariantCulture) {
+ } else if (culture.Equals
(CultureInfo.InvariantCulture)) {
string msg = "Could not find any
resource appropiate for the " +
- "specified culture or its
parents (assembly:{0})";
+ "specified culture or its
parents. " +
+ "Make sure \"{1}\" was
correctly embedded or " +
+ "linked into assembly
\"{0}\".";
- msg = String.Format (msg, MainAssembly
!= null ? MainAssembly.GetName ().Name : "");
+ msg = String.Format (msg, MainAssembly
!= null ? MainAssembly.GetName ().Name : "", filename);
throw new
MissingManifestResourceException (msg);
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches