[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mono-patches
Subject:    [Mono-patches] r70271 - trunk/mcs/class/corlib/System.Resources
From:       "Alexander Olk (xenomorph2 () onlinehome ! de)"
Date:       2006-12-30 21:51:31
Message-ID: 20061230215131.1FDF29472C () mono-cvs ! ximian ! com
[Download RAW message or body]

Author: aolk
Date: 2006-12-30 16:51:30 -0500 (Sat, 30 Dec 2006)
New Revision: 70271

Modified:
   trunk/mcs/class/corlib/System.Resources/ChangeLog
   trunk/mcs/class/corlib/System.Resources/ResourceManager.cs
   trunk/mcs/class/corlib/System.Resources/ResourceSet.cs
Log:
	* ResourceManager.cs: Don't create the ResourceSets hashtable in the
	protected ctor, instead move it to the public ctors. Fixes some not
	working nunit tests. Also, return a closed ResourceSet instead of
	creating a new one. Fixes one more test. If only BaseNameField is
	provided, try to create a resource set from the BaseNameField. One
	more test that passes now.
	* ResourceSet.cs: Remove isDisposed. Not needed anymore.

2006-12-30  Alexander Olk  <alex.olk@googlemail.com>



Modified: trunk/mcs/class/corlib/System.Resources/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/System.Resources/ChangeLog	2006-12-30 21:29:14 UTC (rev 70270)
+++ trunk/mcs/class/corlib/System.Resources/ChangeLog	2006-12-30 21:51:30 UTC (rev 70271)
@@ -1,5 +1,15 @@
 2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
 
+	* ResourceManager.cs: Don't create the ResourceSets hashtable in the
+	protected ctor, instead move it to the public ctors. Fixes some not
+	working nunit tests. Also, return a closed ResourceSet instead of
+	creating a new one. Fixes one more test. If only BaseNameField is
+	provided, try to create a resource set from the BaseNameField. One
+	more test that passes now.
+	* ResourceSet.cs: Remove isDisposed. Not needed anymore.
+
+2006-12-30  Alexander Olk  <alex.olk@googlemail.com>
+
 	* ResourceManager.cs: Iterate through the values of the ResourceSets
 	hashtable in ReleaseAllResources instead through the hashtable itself.
 

Modified: trunk/mcs/class/corlib/System.Resources/ResourceManager.cs
===================================================================
--- trunk/mcs/class/corlib/System.Resources/ResourceManager.cs	2006-12-30 21:29:14 UTC (rev 70270)
+++ trunk/mcs/class/corlib/System.Resources/ResourceManager.cs	2006-12-30 21:51:30 UTC (rev 70271)
@@ -4,6 +4,7 @@
 // Authors:
 //	Duncan Mak (duncan@ximian.com)
 //	Dick Porter (dick@ximian.com)
+// 	Alexander Olk (alex.olk@googlemail.com)
 //
 // (C) 2001, 2002 Ximian, Inc. http://www.ximian.com
 //
@@ -58,7 +59,6 @@
 		
 		// constructors
 		protected ResourceManager () {
-			ResourceSets=new Hashtable();
 			ignoreCase=false;
 			resourceSetType=typeof(ResourceSet);
 			resourceDir=null;
@@ -70,6 +70,7 @@
 			if (resourceSource == null)
 				throw new ArgumentNullException ("resourceSource is null.");
 			
+			ResourceSets = new Hashtable();
 			BaseNameField = resourceSource.FullName;
 			MainAssembly = resourceSource.Assembly;
 
@@ -85,6 +86,7 @@
 			if(assembly == null)
 				throw new ArgumentNullException ("assembly is null.");
 			
+			ResourceSets = new Hashtable ();
 			BaseNameField = baseName;
 			MainAssembly = assembly;
 			neutral_culture = GetNeutralResourcesLanguage(MainAssembly);
@@ -109,6 +111,7 @@
 			if(assembly == null)
 				throw new ArgumentNullException ("assembly is null.");
 			
+			ResourceSets = new Hashtable ();
 			BaseNameField = baseName;
 			MainAssembly = assembly;
 			resourceSetType = CheckResourceSetType(usingResourceSet);
@@ -128,6 +131,7 @@
 				throw new ArgumentNullException("The resourceDir is null");
 			}
 
+			ResourceSets = new Hashtable ();
 			BaseNameField = baseName;
 			MainAssembly = null;
 			resourceSetType = CheckResourceSetType(usingResourceSet);
@@ -289,13 +293,9 @@
 				throw new MissingManifestResourceException (msg);
 			}
 			/* if we already have this resource set, return it */
-			set=(ResourceSet)ResourceSets[culture];
-			if(set!=null && !set.isDisposed) {
-				return(set);
-			} else if (set!=null && set.isDisposed) {
-				ResourceSets.Remove (set);
-				set = null;
-			}
+			set = (ResourceSet)ResourceSets [culture];
+			if (set != null)
+				return set;
 
 			if(MainAssembly != null) {
 				/* Assembly resources */
@@ -340,9 +340,15 @@
 							    
 					throw new MissingManifestResourceException (msg);
 				}
-			} else if(resourceDir != null) {
+			} else if (resourceDir != null || BaseNameField != null) {
 				/* File resources */
-				string filename=Path.Combine(resourceDir, this.GetResourceFileName(culture));
+				string filename;
+				
+				if(resourceDir != null)
+					filename = Path.Combine (resourceDir, GetResourceFileName (culture));
+				else
+					filename = GetResourceFileName(culture);
+				
 				if(File.Exists(filename) &&
 				   Createifnotexists==true) {
 					object[] args=new Object[1];

Modified: trunk/mcs/class/corlib/System.Resources/ResourceSet.cs
===================================================================
--- trunk/mcs/class/corlib/System.Resources/ResourceSet.cs	2006-12-30 21:29:14 UTC (rev 70270)
+++ trunk/mcs/class/corlib/System.Resources/ResourceSet.cs	2006-12-30 21:51:30 UTC (rev 70271)
@@ -48,7 +48,6 @@
 
 		protected IResourceReader Reader;
 		protected Hashtable Table;
-		internal bool isDisposed = false;
 
 		// Constructors
 		protected ResourceSet () {}
@@ -103,8 +102,6 @@
 
 			Reader = null;
 			Table = null;
-			
-			isDisposed = true;
 		}
 
 		public virtual Type GetDefaultReader ()

_______________________________________________
Mono-patches maillist  -  Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic