From 5dfecc0dd8a3dae75a9bfff95d3448ba4c3f4998 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 11 Feb 2019 16:57:49 +0000 Subject: [PATCH] Fix crash on loading encode server on Linux (#1466). --- src/tools/dcpomatic_server.cc | 7 +++++++ 1 file changed, 7 insertions(+) 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)); -- 2.30.2