diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-08-19 01:04:59 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-08-19 01:29:04 +0100 |
| commit | 6c7489e5d778d3e71065d88a094a7383ba2c117d (patch) | |
| tree | e3f05ad03095d88d297c7d61e03e265d28a97fa3 /src/wx/timeline_content_view.cc | |
| parent | 9a27d60ea7888d300a5a2414a477091428589b82 (diff) | |
Replace May/Done/NotDone signal sets with one signal and extend
this treatment to anything that caused Player::setup_pieces. This should
fix out-of-sequence Player emissions caused by setup_pieces being called
by one thread while the butler is calling pass().
Diffstat (limited to 'src/wx/timeline_content_view.cc')
| -rw-r--r-- | src/wx/timeline_content_view.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wx/timeline_content_view.cc b/src/wx/timeline_content_view.cc index bf22e0156..12691f661 100644 --- a/src/wx/timeline_content_view.cc +++ b/src/wx/timeline_content_view.cc @@ -33,7 +33,7 @@ TimelineContentView::TimelineContentView (Timeline& tl, shared_ptr<Content> c) , _content (c) , _selected (false) { - _content_connection = c->Changed.connect (bind (&TimelineContentView::content_changed, this, _2)); + _content_connection = c->Change.connect (bind (&TimelineContentView::content_change, this, _1, _3)); } dcpomatic::Rect<int> @@ -160,8 +160,12 @@ TimelineContentView::y_pos (int t) const } void -TimelineContentView::content_changed (int p) +TimelineContentView::content_change (ChangeType type, int p) { + if (type != CHANGE_TYPE_DONE) { + return; + } + ensure_ui_thread (); if (p == ContentProperty::POSITION || p == ContentProperty::LENGTH) { |
