Author: jackson
Date: 2005-04-14 16:25:44 -0400 (Thu, 14 Apr 2005)
New Revision: 43012

Modified:
   trunk/mcs/class/Managed.Windows.Forms/System.Resources/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceReader.cs
Log:
        * ResXResourceReader.cs: Use serialization on values that have a
        mime type set but no type.



Modified: trunk/mcs/class/Managed.Windows.Forms/System.Resources/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/System.Resources/ChangeLog    
2005-04-14 20:16:47 UTC (rev 43011)
+++ trunk/mcs/class/Managed.Windows.Forms/System.Resources/ChangeLog    
2005-04-14 20:25:44 UTC (rev 43012)
@@ -1,3 +1,8 @@
+2005-04-14  Jackson Harper  <[EMAIL PROTECTED]>
+
+       * ResXResourceReader.cs: Use serialization on values that have a
+       mime type set but no type.
+
 2005-02-16  Peter Bartok  <[EMAIL PROTECTED]>
 
        * ResXResourceReader.cs, ResXResourceWriter.cs: Removed sealed

Modified: 
trunk/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceReader.cs
===================================================================
--- 
trunk/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceReader.cs    
    2005-04-14 20:16:47 UTC (rev 43011)
+++ 
trunk/mcs/class/Managed.Windows.Forms/System.Resources/ResXResourceReader.cs    
    2005-04-14 20:25:44 UTC (rev 43012)
@@ -33,6 +33,7 @@
 using System.Xml;
 using System.ComponentModel;
 using System.Globalization;
+using System.Runtime.Serialization.Formatters.Binary;
 
 namespace System.Resources
 {
@@ -172,7 +173,13 @@
                                                } else if (tt != null) {
                                                        TypeConverter c = 
TypeDescriptor.GetConverter (tt);
                                                        v = c.ConvertFromString 
(val);
-                                               } else { 
+                                               } else if (mt != null) {
+                                                       byte [] data = 
Convert.FromBase64String (val);
+                                                       BinaryFormatter f = new 
BinaryFormatter ();
+                                                       using (MemoryStream s = 
new MemoryStream (data)) {
+                                                               v = 
f.Deserialize (s);
+                                                       }
+                                               } else {
                                                        v = val;
                                                }
                                                hasht [n] = v;

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

Reply via email to