Author: lluis
Date: 2007-08-08 07:53:11 -0400 (Wed, 08 Aug 2007)
New Revision: 83659

Modified:
   trunk/mono-addins/Mono.Addins/ChangeLog
   trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNode.cs
   trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNodeCollection.cs
Log:
* Mono.Addins/TreeNodeCollection.cs, Mono.Addins/TreeNode.cs: Clone the
  node children list when notifying the add-in load event since it
  may change.

Modified: trunk/mono-addins/Mono.Addins/ChangeLog
===================================================================
--- trunk/mono-addins/Mono.Addins/ChangeLog     2007-08-08 11:31:09 UTC (rev 
83658)
+++ trunk/mono-addins/Mono.Addins/ChangeLog     2007-08-08 11:53:11 UTC (rev 
83659)
@@ -1,5 +1,10 @@
 2007-08-08  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
 
+       * Mono.Addins/TreeNodeCollection.cs, Mono.Addins/TreeNode.cs: Clone the 
node
+         children list when notifying the add-in load event since it may 
change.
+
+2007-08-08  Lluis Sanchez Gual <[EMAIL PROTECTED]> 
+
        * Mono.Addins/AddinRegistry.cs, Mono.Addins.Database/AddinDatabase.cs: 
Fix
          problem about the current registry domain not being properly set when
          the add-in database is regenerated due to an internal check.

Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNode.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNode.cs       2007-08-08 
11:31:09 UTC (rev 83658)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNode.cs       2007-08-08 
11:53:11 UTC (rev 83659)
@@ -236,7 +236,7 @@
                        if (extensionNode != null && extensionNode.AddinId == 
ad.Addin.Id)
                                extensionNode.OnAddinLoaded ();
                        if (recursive && childrenLoaded) {
-                               foreach (TreeNode node in Children)
+                               foreach (TreeNode node in Children.Clone ())
                                        node.NotifyAddinLoaded (ad, true);
                        }
                }

Modified: trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNodeCollection.cs
===================================================================
--- trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNodeCollection.cs     
2007-08-08 11:31:09 UTC (rev 83658)
+++ trunk/mono-addins/Mono.Addins/Mono.Addins/TreeNodeCollection.cs     
2007-08-08 11:53:11 UTC (rev 83659)
@@ -72,5 +72,13 @@
                public int Count {
                        get { return list != null ? list.Count : 0; }
                }
+               
+               public TreeNodeCollection Clone ()
+               {
+                       if (list != null)
+                               return new TreeNodeCollection ((ArrayList) 
list.Clone ());
+                       else
+                               return Empty;
+               }
        }
 }

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

Reply via email to