diff options
author | Carl Hetherington <carl@carlh.net> | 2011-12-27 20:21:00 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-12-27 20:21:00 +0000 |
commit | f440f91849a807e9026d79c06075bbd15852cbf6 (patch) | |
tree | 5742bfbca514337cd2de0fe236a3c277b6a4e219 /libs/ardour/playlist.cc | |
parent | 86cb9348e829e61b7c1e324930882af147f504c9 (diff) |
Try to make new layering stuff play nicely with undo.
git-svn-id: svn://localhost/ardour2/branches/3.0@11097 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r-- | libs/ardour/playlist.cc | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc index 1eebafba5a..e5240747aa 100644 --- a/libs/ardour/playlist.cc +++ b/libs/ardour/playlist.cc @@ -646,10 +646,14 @@ Playlist::flush_notifications (bool from_undo) RegionsExtended (pending_region_extensions); } - if (!regions_to_relayer.empty ()) { + if (!regions_to_relayer.empty () && !from_undo) { relayer (regions_to_relayer); } + if (pending_layering) { + LayeringChanged (); /* EMIT SIGNAL */ + } + clear_pending (); in_flush = false; @@ -1571,6 +1575,10 @@ Playlist::flush_notifications (bool from_undo) notify_region_start_trimmed (region); } + if (what_changed.contains (Properties::layer)) { + notify_layering_changed (); + } + if (what_changed.contains (our_interests)) { save = true; } @@ -2536,8 +2544,6 @@ Playlist::commit_temporary_layers (TemporaryLayers const & temporary_layers) DEBUG_TRACE (DEBUG::Layering, string_compose ("\t%1 temporary %2 committed %3\n", (*i)->name(), temporary_layers.get (*i), (*i)->layer())); } - - notify_layering_changed (); } /** Relayer a list of regions. |