Fix GL information fetching.
[dcpomatic.git] / src / wx / film_viewer.cc
index c7e154fa53597bf340bb4337cc32af6174bb8159..77c2e85d690a6cb7055dc02063412812abd1b22b 100644 (file)
@@ -96,10 +96,10 @@ FilmViewer::FilmViewer (wxWindow* p)
 {
        switch (Config::instance()->video_view_type()) {
        case Config::VIDEO_VIEW_OPENGL:
-               _video_view = new GLVideoView (this, p);
+               _video_view = std::make_shared<GLVideoView>(this, p);
                break;
        case Config::VIDEO_VIEW_SIMPLE:
-               _video_view = new SimpleVideoView (this, p);
+               _video_view = std::make_shared<SimpleVideoView>(this, p);
                break;
        }
 
@@ -281,21 +281,22 @@ FilmViewer::calculate_sizes ()
        auto const view_ratio = float(_video_view->get()->GetSize().x) / _video_view->get()->GetSize().y;
        auto const film_ratio = container ? container->ratio () : 1.78;
 
+       dcp::Size out_size;
        if (view_ratio < film_ratio) {
                /* panel is less widscreen than the film; clamp width */
-               _out_size.width = _video_view->get()->GetSize().x;
-               _out_size.height = lrintf (_out_size.width / film_ratio);
+               out_size.width = _video_view->get()->GetSize().x;
+               out_size.height = lrintf (out_size.width / film_ratio);
        } else {
                /* panel is more widescreen than the film; clamp height */
-               _out_size.height = _video_view->get()->GetSize().y;
-               _out_size.width = lrintf (_out_size.height * film_ratio);
+               out_size.height = _video_view->get()->GetSize().y;
+               out_size.width = lrintf (out_size.height * film_ratio);
        }
 
        /* Catch silly values */
-       _out_size.width = max (64, _out_size.width);
-       _out_size.height = max (64, _out_size.height);
+       out_size.width = max (64, out_size.width);
+       out_size.height = max (64, out_size.height);
 
-       _player->set_video_container_size (_out_size);
+       _player->set_video_container_size (out_size);
 }