_current = optional<TextRingBuffers::Data>();
}
- if (!_current) {
+ 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) {
Refresh ();
_current_in_lines = true;
}
+
+ if (!_current && _tracks.empty()) {
+ for (int i = 0; i < CLOSED_CAPTION_LINES; ++i) {
+ _lines[i] = wxString();
+ }
+ }
}
void
Refresh ();
}
+
+void
+ClosedCaptionsDialog::set_butler (weak_ptr<Butler> butler)
+{
+ _butler = butler;
+}
+
void
-ClosedCaptionsDialog::set_film_and_butler (shared_ptr<Film> film, weak_ptr<Butler> butler)
+ClosedCaptionsDialog::update_tracks (shared_ptr<const Film> film)
{
_tracks.clear ();
_track->SetSelection (0);
}
- _butler = butler;
+ track_selected ();
}