Browse Source

ModelCollectionEvent: allow removing event handlers from within an event handler

pull/59/merge
Daniel Grunwald 12 years ago
parent
commit
dbac7687dc
  1. 5
      src/Main/Base/Project/Dom/IModelCollection.cs

5
src/Main/Base/Project/Dom/IModelCollection.cs

@ -21,6 +21,7 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -21,6 +21,7 @@ namespace ICSharpCode.SharpDevelop.Dom
public void AddHandler(ModelCollectionChangedEventHandler<T> handler)
{
if (handler != null)
_handlers.Add(handler);
}
@ -31,12 +32,10 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -31,12 +32,10 @@ namespace ICSharpCode.SharpDevelop.Dom
public void Fire(IReadOnlyCollection<T> removedItems, IReadOnlyCollection<T> addedItems)
{
foreach (var handler in _handlers) {
if (handler != null) {
foreach (var handler in _handlers.ToArray()) {
handler(removedItems, addedItems);
}
}
}
public bool ContainsHandlers
{

Loading…
Cancel
Save