summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-02-11 16:57:49 +0000
committerCarl Hetherington <cth@carlh.net>2019-02-11 16:57:49 +0000
commit5dfecc0dd8a3dae75a9bfff95d3448ba4c3f4998 (patch)
treeb8f9b7b3619f9a5a01e4cdb982f4c59c6dc800eb /src/tools
parent394c8347d54057c8a52dd63704ae2c9791bb30aa (diff)
Fix crash on loading encode server on Linux (#1466).
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/dcpomatic_server.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/tools/dcpomatic_server.cc b/src/tools/dcpomatic_server.cc
index d29ac0a63..3c2cd58da 100644
--- a/src/tools/dcpomatic_server.cc
+++ b/src/tools/dcpomatic_server.cc
@@ -286,6 +286,13 @@ private:
signal_manager = new wxSignalManager (this);
Bind (wxEVT_IDLE, boost::bind (&App::idle, this));
+ /* Bad things happen (on Linux at least) if the config is reloaded by main_thread;
+ it seems like there's a race which results in the locked_sstream mutex being
+ locked before it is initialised. Calling Config::instance() here loads the config
+ again in this thread, which seems to work around the problem.
+ */
+ Config::instance();
+
_icon = new TaskBarIcon;
_thread = new thread (bind (&App::main_thread, this));