Cleanup: replace some list with vector.
[dcpomatic.git] / src / tools / dcpomatic_player.cc
index 68460fe68149330e09611ccde8680cc1dc825cc0..ab018c44b9b60d18ee2d3608999fc1eafd194f05 100644 (file)
@@ -47,6 +47,7 @@
 #include "lib/ffmpeg_content.h"
 #include "lib/file_log.h"
 #include "lib/film.h"
+#include "lib/font_config.h"
 #include "lib/image.h"
 #include "lib/image_jpeg.h"
 #include "lib/image_png.h"
@@ -244,6 +245,8 @@ public:
                Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_timing, this), ID_tools_timing);
                Bind (wxEVT_MENU, boost::bind (&DOMFrame::tools_system_information, this), ID_tools_system_information);
 
+               Bind(wxEVT_CLOSE_WINDOW, boost::bind(&DOMFrame::close, this, _1));
+
                if (Config::instance()->player_mode() == Config::PLAYER_MODE_DUAL) {
                        auto pc = new PlaylistControls (_overall_panel, _viewer);
                        _controls = pc;
@@ -313,6 +316,12 @@ public:
                _viewer.stop();
        }
 
+       void close(wxCloseEvent& ev)
+       {
+               FontConfig::drop();
+               ev.Skip();
+       }
+
        void setup_main_sizer (Config::PlayerMode mode)
        {
                _main_sizer->Detach(_viewer.panel());
@@ -1162,7 +1171,7 @@ private:
 
        bool OnInit () override
        {
-               wx_ptr<wxSplashScreen> splash;
+               wxSplashScreen* splash;
                try {
                        wxInitAllImageHandlers ();