-
Alexandru Băluț authored
TimelineObserver._clipPropertyChangedCb, the final handler of the prop changed events ("monitored-property-changed"), which pushes the ClipPropertyChanged actions, was ignoring these events when the clips were being dragged around. To be able to record the final changes, ClipPropertyChangeTracker had to connect to the timeline's "commited" signal and report if changes have been detected. The goal was to have as few as possible actions in the UndoableActionLog because when undoing or redoing, all these actions were committing the timeline and this was very expensive. Now the individual actions are not committing the timeline anymore, so we can live with a high number of actions in the stack. As a result of the simplification, the TimelineObserver does not need to keep track of the prop values itself (by setting attributes on the ClipPropertyChangeTracker) and the "monitored-property-changed" signal can be removed as now PropertyChangeTracker can push the PropertyChangedAction instances itself. Finally, PropertyChangeTracker can now be used easily to monitor the props of other objects besides clips, stay tuned! Differential Revision: https://phabricator.freedesktop.org/D993
1495203d