Fix crash.
authorCarl Hetherington <cth@carlh.net>
Sun, 7 Apr 2013 10:35:48 +0000 (11:35 +0100)
committerCarl Hetherington <cth@carlh.net>
Sun, 7 Apr 2013 10:35:48 +0000 (11:35 +0100)
src/wx/film_viewer.cc

index 4bc5466bcc1f2b98bf0a58a3c6d39a44cb863fc7..4d8685dd0cb232d3f95575c20f149500efd2119c 100644 (file)
@@ -84,15 +84,17 @@ FilmViewer::FilmViewer (shared_ptr<Film> f, wxWindow* p)
        _play_button->Connect (wxID_ANY, wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler (FilmViewer::play_clicked), 0, this);
        _timer.Connect (wxID_ANY, wxEVT_TIMER, wxTimerEventHandler (FilmViewer::timer), 0, this);
 
-       /* We need a player before we set_film() so that the first frame will be displayed */
-       _player = f->player ();
-       _player->disable_audio ();
-       _player->disable_video_sync ();
-       /* Don't disable subtitles here as we may need them, and it's nice to be able to turn them
-          on and off without needing obtain a new Player.
-       */
-       
-       _player->Video.connect (bind (&FilmViewer::process_video, this, _1, _2, _3));
+       if (f) {
+               /* We need a player before we set_film() so that the first frame will be displayed */
+               _player = f->player ();
+               _player->disable_audio ();
+               _player->disable_video_sync ();
+               /* Don't disable subtitles here as we may need them, and it's nice to be able to turn them
+                  on and off without needing obtain a new Player.
+               */
+               
+               _player->Video.connect (bind (&FilmViewer::process_video, this, _1, _2, _3));
+       }
 
        set_film (f);