Author: lluis
Date: 2006-12-11 08:01:48 -0500 (Mon, 11 Dec 2006)
New Revision: 69317
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Core/ChangeLog
trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.AddIns/AddInService.cs
trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.mdp
Log:
* MonoDevelop.Core.AddIns/AddInService.cs: In
RegisterExtensionItemListener, avoid firing duplicate events by
getting the list of tree items before registering the listener.
* MonoDevelop.Core.mdp: Updated.
Modified: trunk/monodevelop/Core/src/MonoDevelop.Core/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Core/ChangeLog 2006-12-11
12:48:20 UTC (rev 69316)
+++ trunk/monodevelop/Core/src/MonoDevelop.Core/ChangeLog 2006-12-11
13:01:48 UTC (rev 69317)
@@ -1,3 +1,10 @@
+2006-12-11 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * MonoDevelop.Core.AddIns/AddInService.cs: In
+ RegisterExtensionItemListener, avoid firing duplicate events by
+ getting the list of tree items before registering the listener.
+ * MonoDevelop.Core.mdp: Updated.
+
2006-09-12 Levi Bard <[EMAIL PROTECTED]>
* MonoDevelop.Core.AddIns/AddInService.cs: Added robustness for addin
dir detection failure.
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.AddIns/AddInService.cs
===================================================================
---
trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.AddIns/AddInService.cs
2006-12-11 12:48:20 UTC (rev 69316)
+++
trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.AddIns/AddInService.cs
2006-12-11 13:01:48 UTC (rev 69317)
@@ -322,14 +322,21 @@
public void RegisterExtensionItemListener (string path,
ExtensionItemListener listener, bool notifyCurrentNodes)
{
+ object[] items = null;
+
+ // Get the items before registering the listener, to
avoid firing duplicate events
+ if (notifyCurrentNodes)
+ items = GetTreeItems (path);
+
ArrayList list = (ArrayList) listeners [path];
if (list == null) {
list = new ArrayList ();
listeners [path] = list;
}
list.Add (listener);
+
if (notifyCurrentNodes) {
- foreach (object ob in GetTreeItems (path))
+ foreach (object ob in items)
listener (ExtensionAction.Add, ob);
}
}
Modified: trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.mdp
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.mdp
2006-12-11 12:48:20 UTC (rev 69316)
+++ trunk/monodevelop/Core/src/MonoDevelop.Core/MonoDevelop.Core.mdp
2006-12-11 13:01:48 UTC (rev 69317)
@@ -150,13 +150,13 @@
<File name="./MonoDevelop.Core.addin.xml" subtype="Code"
buildaction="FileCopy" />
</Contents>
<References>
- <ProjectReference type="Assembly" localcopy="True"
refto="../../../contrib/log4net" />
<ProjectReference type="Assembly" localcopy="True"
refto="../../../contrib/Mono.Cecil.dll" />
<ProjectReference type="Gac" localcopy="True" refto="System,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<ProjectReference type="Gac" localcopy="True" refto="Mono.Posix,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756" />
<ProjectReference type="Gac" localcopy="True" refto="System.Xml,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<ProjectReference type="Gac" localcopy="True"
refto="System.Runtime.Remoting, Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" />
<ProjectReference type="Gac" localcopy="True"
refto="ICSharpCode.SharpZipLib, Version=2.84.0.0, Culture=neutral,
PublicKeyToken=1b03e6acf1164f73" />
+ <ProjectReference type="Assembly" localcopy="True"
refto="../../../contrib/log4net.dll" />
</References>
<DeploymentInformation strategy="File">
<excludeFiles />
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches