summaryrefslogtreecommitdiff
path: root/libs/ardour/playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r--libs/ardour/playlist.cc12
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.