-
- Remove GC dependence from UndoStackObserver Removing GC from UndoStackObserver also removes it from its derived classes. - Change CompositeUndoStackObserver::UndoObserverRecordList type to a vector CompositeUndoStackObserver::UndoObserverRecordList was previously an std::list. std::vector performs better than std::list in most cases and removing the GC reliance of CompositeUndoStackObserver means that we can safely change this into a vector. UndoStackObserverRecord::_observer was changed from a reference to a pointer to make it movable and work with vectors.