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.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.cc')
| -rw-r--r-- | src/wx/timeline.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wx/timeline.cc b/src/wx/timeline.cc index 02f8be059..7353baf82 100644 --- a/src/wx/timeline.cc +++ b/src/wx/timeline.cc @@ -110,7 +110,7 @@ Timeline::Timeline (wxWindow* parent, ContentPanel* cp, shared_ptr<Film> film) SetMinSize (wxSize (640, 4 * pixels_per_track() + 96)); _film_changed_connection = film->Changed.connect (bind (&Timeline::film_changed, this, _1)); - _film_content_changed_connection = film->ContentChanged.connect (bind (&Timeline::film_content_changed, this, _2, _3)); + _film_content_change_connection = film->ContentChange.connect (bind (&Timeline::film_content_change, this, _1, _3, _4)); setup_scrollbars (); _labels_canvas->ShowScrollbars (wxSHOW_SB_NEVER, wxSHOW_SB_NEVER); @@ -243,8 +243,12 @@ Timeline::recreate_views () } void -Timeline::film_content_changed (int property, bool frequent) +Timeline::film_content_change (ChangeType type, int property, bool frequent) { + if (type != CHANGE_TYPE_DONE) { + return; + } + ensure_ui_thread (); if (property == AudioContentProperty::STREAMS) { |
