Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/23/10 15:29:13 (14 years ago)
Author:
mkommend
Message:

Corrected cloning and deserializing of ReadOnlyCheckedItemCollection and -list (ticket #1169).

File:
1 edited

Legend:

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

    r4068 r4290  
    2323using System.Collections.Generic;
    2424using HeuristicLab.Collections;
     25using HeuristicLab.Common;
    2526using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2627
     
    3637    public ReadOnlyCheckedItemCollection(ICheckedItemCollection<T> collection)
    3738      : base(collection) {
    38       collection.CheckedItemsChanged += new CollectionItemsChangedEventHandler<T>(collection_CheckedItemsChanged);
     39      CheckedItemCollection.CheckedItemsChanged += new CollectionItemsChangedEventHandler<T>(collection_CheckedItemsChanged);
    3940    }
    4041
    4142    [StorableConstructor]
    4243    protected ReadOnlyCheckedItemCollection(bool deserializing) : base(deserializing) { }
     44    [StorableHook(HookType.AfterDeserialization)]
     45    private void AfterDeserializationHook() {
     46      CheckedItemCollection.CheckedItemsChanged += new CollectionItemsChangedEventHandler<T>(collection_CheckedItemsChanged);
     47    }
     48
     49    public override IDeepCloneable Clone(Common.Cloner cloner) {
     50      ReadOnlyCheckedItemCollection<T> clone = (ReadOnlyCheckedItemCollection<T>)base.Clone(cloner);
     51      clone.CheckedItemCollection.CheckedItemsChanged += new CollectionItemsChangedEventHandler<T>(clone.collection_CheckedItemsChanged);
     52      return clone;
     53    }
    4354
    4455    #region ReadOnlyCheckedItemCollection<T> Members
Note: See TracChangeset for help on using the changeset viewer.