X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsystem_information_dialog.cc;h=968cd57404dd729957d97f842a7dd82482771807;hb=436a02462f5aa2a5b8fdcaa1c5da79f48d167244;hp=3a2b3bbf65e7fc1a358677df88c9d683cfc0565e;hpb=676737031d1957bc39814e7104257b8fe93f11bb;p=dcpomatic.git diff --git a/src/wx/system_information_dialog.cc b/src/wx/system_information_dialog.cc index 3a2b3bbf6..968cd5740 100644 --- a/src/wx/system_information_dialog.cc +++ b/src/wx/system_information_dialog.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Carl Hetherington + Copyright (C) 2019 Carl Hetherington This file is part of DCP-o-matic. @@ -20,6 +20,8 @@ #include "system_information_dialog.h" #include "wx_util.h" +#include "gl_video_view.h" +#include "film_viewer.h" #ifdef DCPOMATIC_OSX #include @@ -30,12 +32,29 @@ #endif using std::string; +using std::weak_ptr; +using std::shared_ptr; -SystemInformationDialog::SystemInformationDialog (wxWindow* parent) +SystemInformationDialog::SystemInformationDialog (wxWindow* parent, weak_ptr weak_viewer) : TableDialog (parent, _("System information"), 2, 1, false) { - add (_("OpenGL version"), true); - add (std_to_wx((char const *) glGetString(GL_VERSION)), false); + shared_ptr viewer = weak_viewer.lock (); + GLVideoView const * gl = viewer ? dynamic_cast(viewer->video_view()) : 0; + + if (!gl) { + add (_("OpenGL version"), true); + add (_("unknown (OpenGL not enabled in DCP-o-matic)"), false); + } else { + add (_("OpenGL version"), true); + char const * v = (char const *) glGetString (GL_VERSION); + if (v) { + add (std_to_wx(v), false); + } else { + add (_("unknown"), false); + } + add (_("vsync"), true); + add (gl->vsync_enabled() ? _("enabled") : _("not enabled"), false); + } layout (); }