diff options
| author | Carl Hetherington <cth@carlh.net> | 2019-02-11 16:57:49 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2019-02-11 16:57:49 +0000 |
| commit | 5dfecc0dd8a3dae75a9bfff95d3448ba4c3f4998 (patch) | |
| tree | b8f9b7b3619f9a5a01e4cdb982f4c59c6dc800eb /src/tools | |
| parent | 394c8347d54057c8a52dd63704ae2c9791bb30aa (diff) | |
Fix crash on loading encode server on Linux (#1466).
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/dcpomatic_server.cc | 7 |
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)); |
