From 2d2f00633ed41a00e5d8f6a4b42d4646b647e541 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 16 Oct 2018 14:50:41 +0100 Subject: [PATCH] Better error when trying to load a DCP from a non-DCP directory in the player. --- src/tools/dcpomatic_player.cc | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc index c2d053430..237b769bb 100644 --- a/src/tools/dcpomatic_player.cc +++ b/src/tools/dcpomatic_player.cc @@ -52,6 +52,7 @@ #include "lib/monitor_checker.h" #include #include +#include #include #include #include @@ -361,14 +362,18 @@ public: void load_dcp (boost::filesystem::path dir) { - dcp::DCP dcp (dir); - dcp.read (); - SPL spl; - BOOST_FOREACH (shared_ptr j, dcp.cpls()) { - spl.playlist.push_back (SPLEntry(j, dir)); + try { + dcp::DCP dcp (dir); + dcp.read (); + SPL spl; + BOOST_FOREACH (shared_ptr j, dcp.cpls()) { + spl.playlist.push_back (SPLEntry(j, dir)); + } + set_spl (spl); + Config::instance()->add_to_player_history (dir); + } catch (dcp::DCPReadError& e) { + error_dialog (this, wxString::Format(_("Could not load a DCP from %s"), std_to_wx(dir.string())), std_to_wx(e.what())); } - set_spl (spl); - Config::instance()->add_to_player_history (dir); } #ifdef DCPOMATIC_VARIANT_SWAROOP -- 2.30.2