summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/dcpomatic_player.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/tools/dcpomatic_player.cc b/src/tools/dcpomatic_player.cc
index c0587ed55..112f2c065 100644
--- a/src/tools/dcpomatic_player.cc
+++ b/src/tools/dcpomatic_player.cc
@@ -1150,8 +1150,15 @@ private:
}
_frame->Show ();
- PlayServer* server = new PlayServer (_frame);
- new thread (boost::bind (&PlayServer::run, server));
+ try {
+ auto server = new PlayServer (_frame);
+ new thread (boost::bind (&PlayServer::run, server));
+ } catch (std::exception& e) {
+ /* This is not the end of the world; probably a failure to bind the server socket
+ * because there's already another player running.
+ */
+ LOG_DEBUG_PLAYER ("Failed to start play server (%1)", e.what());
+ }
if (!_dcp_to_load.empty() && boost::filesystem::is_directory (_dcp_to_load)) {
try {