Add defensive check.
[dcpomatic.git] / src / wx / film_viewer.cc
index bb59122aaff0605f5c46b89625ffe607950b2f2c..21a35c227465e3631444a9cac687bccc84c77bd3 100644 (file)
@@ -164,7 +164,7 @@ FilmViewer::set_film (shared_ptr<Film> film)
        }
 
        try {
-               _player.reset (new Player(_film, _film->playlist(), _film->length()));
+               _player.reset (new Player(_film));
                _player->set_fast ();
                if (_dcp_decode_reduction) {
                        _player->set_dcp_decode_reduction (_dcp_decode_reduction);
@@ -233,6 +233,15 @@ FilmViewer::set_outline_content (bool o)
        _video_view->update ();
 }
 
+
+void
+FilmViewer::set_outline_subtitles (optional<dcpomatic::Rect<double> > rect)
+{
+       _outline_subtitles = rect;
+       _video_view->update ();
+}
+
+
 void
 FilmViewer::set_eyes (Eyes e)
 {
@@ -406,7 +415,6 @@ void
 FilmViewer::film_length_change ()
 {
        _video_view->set_length (_film->length());
-       _player->set_playback_length (_film->length());
 }
 
 /** Re-get the current frame slowly by seeking */
@@ -423,7 +431,7 @@ FilmViewer::slow_refresh ()
 bool
 FilmViewer::quick_refresh ()
 {
-       if (!_video_view || !_film) {
+       if (!_video_view || !_film || !_player) {
                return true;
        }
        return _video_view->refresh_metadata (_film, _player->video_container_size(), _film->frame_size());