Author: ivanz
Date: 2007-09-25 19:31:32 -0400 (Tue, 25 Sep 2007)
New Revision: 86373

Modified:
   trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog
   trunk/mcs/class/System.Drawing/System.Drawing/ColorConverter.cs
Log:
2007-09-26  Ivan N.Zlatev <[EMAIL PROTECTED]>

        * ColorConverter.cs: During conversion to InstanceDescriptor check
        both IsSystemColor to get a PropertyInfo from type SystemColors 
        and IsKnownColor to get PropertyInfo from type Color.



Modified: trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog     2007-09-25 
23:23:42 UTC (rev 86372)
+++ trunk/mcs/class/System.Drawing/System.Drawing/ChangeLog     2007-09-25 
23:31:32 UTC (rev 86373)
@@ -1,3 +1,9 @@
+2007-09-26  Ivan N.Zlatev <[EMAIL PROTECTED]>
+
+       * ColorConverter.cs: During conversion to InstanceDescriptor check
+       both IsSystemColor to get a PropertyInfo from type SystemColors 
+       and IsKnownColor to get PropertyInfo from type Color.
+
 2007-08-09  Vladimir Krasnov  <[EMAIL PROTECTED]>
 
        * ColorTranslator.cs: optimized Html color formatting in ToHtml method

Modified: trunk/mcs/class/System.Drawing/System.Drawing/ColorConverter.cs
===================================================================
--- trunk/mcs/class/System.Drawing/System.Drawing/ColorConverter.cs     
2007-09-25 23:23:42 UTC (rev 86372)
+++ trunk/mcs/class/System.Drawing/System.Drawing/ColorConverter.cs     
2007-09-25 23:31:32 UTC (rev 86373)
@@ -208,8 +208,12 @@
                        
                        if (destinationType == typeof (InstanceDescriptor) && 
value is Color) {
                                Color c = (Color)value;
-                               if (c.IsKnownColor){
+                               if (c.IsEmpty) {
+                                       return new InstanceDescriptor (typeof 
(Color).GetField ("Empty"), null);
+                               } else if (c.IsSystemColor) {
                                        return new InstanceDescriptor (typeof 
(SystemColors).GetProperty (c.Name), null);
+                               } else if (c.IsKnownColor){
+                                       return new InstanceDescriptor (typeof 
(Color).GetProperty (c.Name), null);
                                } else {
                                        MethodInfo met = 
typeof(Color).GetMethod ("FromArgb", new Type[] { typeof(int), typeof(int), 
typeof(int), typeof(int) } );
                                        return new InstanceDescriptor (met, new 
object[] {c.A, c.R, c.G, c.B });

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

Reply via email to