From 7e690d1fce77caf2112601c03bb5140a67438de9 Mon Sep 17 00:00:00 2001 From: Reinder Feenstra Date: Wed, 6 Dec 2023 23:51:03 +0100 Subject: [PATCH] loconet: fix: interfaced caused crash when network connection failed --- server/src/hardware/interface/loconetinterface.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/server/src/hardware/interface/loconetinterface.cpp b/server/src/hardware/interface/loconetinterface.cpp index d33a7eab..6e0a7359 100644 --- a/server/src/hardware/interface/loconetinterface.cpp +++ b/server/src/hardware/interface/loconetinterface.cpp @@ -303,6 +303,13 @@ bool LocoNetInterface::setOnline(bool& value, bool simulation) [this]() { setState(InterfaceState::Online); + + m_kernel->setPowerOn(contains(m_world.state.value(), WorldState::PowerOn)); + + if(contains(m_world.state.value(), WorldState::Run)) + m_kernel->resume(); + else + m_kernel->emergencyStop(); }); m_kernel->setOnError( [this]() @@ -345,13 +352,6 @@ bool LocoNetInterface::setOnline(bool& value, bool simulation) m_kernel->setConfig(loconet->config()); }); - m_kernel->setPowerOn(contains(m_world.state.value(), WorldState::PowerOn)); - - if(contains(m_world.state.value(), WorldState::Run)) - m_kernel->resume(); - else - m_kernel->emergencyStop(); - Attributes::setEnabled(type, false); Attributes::setEnabled(device, false); Attributes::setEnabled(baudrate, false);