diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/wx/closed_captions_dialog.cc | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/wx/closed_captions_dialog.cc b/src/wx/closed_captions_dialog.cc index 625652b8c..4519c4b7c 100644 --- a/src/wx/closed_captions_dialog.cc +++ b/src/wx/closed_captions_dialog.cc @@ -165,22 +165,23 @@ ClosedCaptionsDialog::update () if (!_current && !_tracks.empty()) { /* We have no current one: get another */ shared_ptr<Butler> butler = _butler.lock (); - DCPOMATIC_ASSERT (butler); DCPOMATIC_ASSERT (_track->GetSelection() >= 0); DCPOMATIC_ASSERT (_track->GetSelection() < int(_tracks.size())); DCPTextTrack track = _tracks[_track->GetSelection()]; - while (true) { - optional<TextRingBuffers::Data> d = butler->get_closed_caption (); - if (!d) { - break; - } - if (d->track == track) { - _current = d; - break; + if (butler) { + while (true) { + optional<TextRingBuffers::Data> d = butler->get_closed_caption (); + if (!d) { + break; + } + if (d->track == track) { + _current = d; + break; + } } - } - _current_in_lines = false; + _current_in_lines = false; + } } if (_current && _current->period.contains(time)) { |
