X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fcontent_part.h;h=eb96b13710e210593ca47c8911225362d5bfb084;hp=4f6e9e396bbb70325505cfd7f7cce191ead95e3b;hb=f515b8daea9d28200be803bb64ff17e9f30343c4;hpb=a69d242f3f00207d6ea7320e6723775f4b0dbfb3 diff --git a/src/lib/content_part.h b/src/lib/content_part.h index 4f6e9e396..eb96b1371 100644 --- a/src/lib/content_part.h +++ b/src/lib/content_part.h @@ -23,6 +23,7 @@ #define DCPOMATIC_CONTENT_PART_H #include "content.h" +#include "change_signaller.h" #include #include @@ -41,28 +42,30 @@ protected: void maybe_set (T& member, T new_value, int property) const { + ChangeSignaller cc (_parent, property); { boost::mutex::scoped_lock lm (_mutex); if (member == new_value) { + cc.abort (); return; } member = new_value; } - _parent->signal_changed (property); } template void maybe_set (boost::optional& member, T new_value, int property) const { + ChangeSignaller cc (_parent, property); { boost::mutex::scoped_lock lm (_mutex); if (member && member.get() == new_value) { + cc.abort (); return; } member = new_value; } - _parent->signal_changed (property); } Content* _parent;