summaryrefslogtreecommitdiff
path: root/src/lib/playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/playlist.cc')
-rw-r--r--src/lib/playlist.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc
index c10235f9b..f530d2ee3 100644
--- a/src/lib/playlist.cc
+++ b/src/lib/playlist.cc
@@ -68,6 +68,13 @@ Playlist::~Playlist ()
void
Playlist::content_change (weak_ptr<const Film> weak_film, ChangeType type, weak_ptr<Content> content, int property, bool frequent)
{
+ /* Make sure we only hear about atomic changes (e.g. a PENDING always with the DONE/CANCELLED)
+ Ignore any DONE/CANCELLED that arrives without a PENDING.
+ */
+ if (_checker.send (type, property)) {
+ return;
+ }
+
shared_ptr<const Film> film = weak_film.lock ();
DCPOMATIC_ASSERT (film);