Catch DCPError when adding OV in the player.
authorCarl Hetherington <cth@carlh.net>
Sat, 1 Feb 2025 23:29:55 +0000 (00:29 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 1 Feb 2025 23:29:55 +0000 (00:29 +0100)
src/tools/dcpomatic_player.cc

index e2c6892095fa575962dc16c4f16a4b8d6302ef34..0a45988a73e6c75adb61b2aa0b23dd3299f694db 100644 (file)
@@ -729,7 +729,13 @@ private:
                        auto dcp = std::dynamic_pointer_cast<DCPContent>(_film->content().front());
                        DCPOMATIC_ASSERT(dcp);
 
-                       dcp->add_ov (wx_to_std(c->GetPath()));
+                       try {
+                               dcp->add_ov(wx_to_std(c->GetPath()));
+                       } catch (DCPError& e) {
+                               error_dialog(this, char_to_wx(e.what()));
+                               return;
+                       }
+
                        auto job = make_shared<ExamineContentJob>(_film, dcp, true);
 
                        auto film_ready = [this]() {