diff options
author | nick_m <mainsbridge@gmail.com> | 2016-06-27 04:35:16 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-07-10 02:18:37 +1000 |
commit | 4acd365e425869ddb6ed15bc51aa355a3bd7f76f (patch) | |
tree | edeef4142de132c098008079ff5dc4a9f4da5c99 /libs/ardour/audio_playlist.cc | |
parent | 3ee7972069f577d33b06ce2266d1cef5933a0150 (diff) |
AudioPlaylist doesn't double-notify that contents have changed if bounds have changed.
Diffstat (limited to 'libs/ardour/audio_playlist.cc')
-rw-r--r-- | libs/ardour/audio_playlist.cc | 9 |
1 files 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 (); } |