From 4acd365e425869ddb6ed15bc51aa355a3bd7f76f Mon Sep 17 00:00:00 2001 From: nick_m Date: Mon, 27 Jun 2016 04:35:16 +1000 Subject: [PATCH] AudioPlaylist doesn't double-notify that contents have changed if bounds have changed. --- libs/ardour/audio_playlist.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc index b70771fc15..80ec1cb5f1 100644 --- a/libs/ardour/audio_playlist.cc +++ b/libs/ardour/audio_playlist.cc @@ -335,6 +335,11 @@ AudioPlaylist::region_changed (const PropertyChange& what_changed, boost::shared return false; } + PropertyChange bounds; + bounds.add (Properties::start); + bounds.add (Properties::position); + bounds.add (Properties::length); + PropertyChange our_interests; our_interests.add (Properties::fade_in_active); @@ -348,8 +353,8 @@ AudioPlaylist::region_changed (const PropertyChange& what_changed, boost::shared bool parent_wants_notify; parent_wants_notify = Playlist::region_changed (what_changed, region); - - if (parent_wants_notify || (what_changed.contains (our_interests))) { + /* if bounds changed, we have already done notify_contents_changed ()*/ + if ((parent_wants_notify || what_changed.contains (our_interests)) && !what_changed.contains (bounds)) { notify_contents_changed (); }