FilmViewer API tidying.
[dcpomatic.git] / src / wx / content_panel.cc
index 4e6cdb2f20b8295be89904eb848aa5fb9df0aa76..8e6c49294326a6d6edacd9b75e7f72c8f0802338 100644 (file)
@@ -61,7 +61,7 @@ using boost::optional;
 
 #define LOG_GENERAL(...) _film->log()->log (String::compose (__VA_ARGS__), LogEntry::TYPE_GENERAL);
 
-ContentPanel::ContentPanel (wxNotebook* n, boost::shared_ptr<Film> film, FilmViewer* viewer)
+ContentPanel::ContentPanel (wxNotebook* n, shared_ptr<Film> film, weak_ptr<FilmViewer> viewer)
        : _video_panel (0)
        , _audio_panel (0)
        , _timeline_dialog (0)
@@ -302,7 +302,9 @@ ContentPanel::check_selection ()
        }
 
        if (go_to && Config::instance()->jump_to_selected() && signal_manager) {
-               signal_manager->when_idle(boost::bind(&FilmViewer::set_position, _film_viewer, go_to.get().ceil(_film->video_frame_rate())));
+               shared_ptr<FilmViewer> fv = _film_viewer.lock ();
+               DCPOMATIC_ASSERT (fv);
+               signal_manager->when_idle(boost::bind(&FilmViewer::seek, fv.get(), go_to.get().ceil(_film->video_frame_rate()), true));
        }
 
        if (_timeline_dialog) {