Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/13/10 17:31:13 (14 years ago)
Author:
gkronber
Message:

Implemented fix for exceptions in CheckedItemCollection and CheckedItemCollection. #893

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core/3.3/Collections/CheckedItemList.cs

    r3628 r3798  
    163163    protected override void OnCollectionReset(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    164164      foreach (var oldIndexedItem in oldItems) {
    165         checkedState.Remove(oldIndexedItem.Value);
     165        if (!list.Contains(oldIndexedItem.Value))
     166          checkedState.Remove(oldIndexedItem.Value);
    166167      }
    167168      foreach (var indexedItem in items) {
     
    189190    protected override void OnItemsRemoved(IEnumerable<IndexedItem<T>> items) {
    190191      foreach (var indexedItem in items)
    191         checkedState.Remove(indexedItem.Value);
     192        if (!list.Contains(indexedItem.Value))
     193          checkedState.Remove(indexedItem.Value);
    192194      base.OnItemsRemoved(items);
    193195    }
     
    200202    protected override void OnItemsReplaced(IEnumerable<IndexedItem<T>> items, IEnumerable<IndexedItem<T>> oldItems) {
    201203      foreach (var oldIndexedItem in oldItems)
    202         checkedState.Remove(oldIndexedItem.Value);
     204        if (!list.Contains(oldIndexedItem.Value))
     205          checkedState.Remove(oldIndexedItem.Value);
    203206      foreach (var indexedItem in items)
    204207        if (!checkedState.ContainsKey(indexedItem.Value))
Note: See TracChangeset for help on using the changeset viewer.