2009-01-01 Ivan N. Zlatev <contact@i-nz.net>
authorIvan Zlatev <ivan@ivanz.com>
Thu, 1 Jan 2009 18:45:02 +0000 (18:45 -0000)
committerIvan Zlatev <ivan@ivanz.com>
Thu, 1 Jan 2009 18:45:02 +0000 (18:45 -0000)
* CurrencyManager.cs: Do not fire duplicate ListChanged events.

svn path=/trunk/mcs/; revision=122312

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/CurrencyManager.cs

index c98194eacfc6648bfd5bcea2c3a63215603c5bfe..1f1b8226e7592eb2c11a703b95dd9341b000d3c4 100644 (file)
@@ -1,3 +1,7 @@
+2009-01-01  Ivan N. Zlatev  <contact@i-nz.net>
+
+       * CurrencyManager.cs: Do not fire duplicate ListChanged events.
+
 2008-12-31  Ivan N. Zlatev  <contact@i-nz.net>
 
        * DataGridView.cs, DataGridViewRow.cs: Add a new internal property 
index fe0434f00f50676e802fbcb5d87654c6fc4be36b..da2da6a0036cb3dfa9d88e5bc4cd9b1793315550 100644 (file)
@@ -394,11 +394,12 @@ namespace System.Windows.Forms {
                {
                        switch (e.ListChangedType) {
                        case ListChangedType.PropertyDescriptorAdded:
-                               OnMetaDataChanged (EventArgs.Empty);
-                               break;
                        case ListChangedType.PropertyDescriptorDeleted:
                        case ListChangedType.PropertyDescriptorChanged:
                                OnMetaDataChanged (EventArgs.Empty);
+#if NET_2_0
+                               OnListChanged (e);
+#endif
                                break;
                        case ListChangedType.ItemDeleted:
                                if (list.Count == 0) {
@@ -423,6 +424,9 @@ namespace System.Windows.Forms {
                                }
 
                                OnItemChanged (new ItemChangedEventArgs (-1));
+#if NET_2_0
+                               OnListChanged (e);
+#endif
                                break;
                        case ListChangedType.ItemAdded:
                                if (list.Count == 1) {
@@ -434,7 +438,8 @@ namespace System.Windows.Forms {
                                        UpdateIsBinding ();
 #else
                                        OnItemChanged (new ItemChangedEventArgs (-1));
-#endif
+                                       OnListChanged (e);
+#endif                                         
                                }
                                else {
 #if NET_2_0
@@ -463,15 +468,23 @@ namespace System.Windows.Forms {
 #endif
                                        OnItemChanged (new ItemChangedEventArgs (e.NewIndex));
                                }
+#if NET_2_0
+                               OnListChanged (e);
+#endif                                         
                                break;
                        case ListChangedType.Reset:
                                PushData();
                                UpdateIsBinding();
+#if NET_2_0    
+                               OnListChanged (e);
+#endif
                                break;
-                       }
+                       default:
 #if NET_2_0
-                       OnListChanged (e);
+                               OnListChanged (e);
 #endif
+                               break;
+                       }
                }
 
 #if NET_2_0