diff --git a/ChangeLog b/ChangeLog index 6ec02e122d..7bd37c2bb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -63,6 +63,7 @@ Enhancements: - #7414 Expand BSD sockets poll tests and remove legacy-poll code - #7415 Assert arg value `num > 0` for BSD socket poll unblock pipe - #7416 Catch exception propagating to `Server` dtor +- #7421 Only load core after settings have fully loaded # 1.14.6 diff --git a/src/gui/src/MainWindow.cpp b/src/gui/src/MainWindow.cpp index a5ff8c23a0..ab4e461501 100644 --- a/src/gui/src/MainWindow.cpp +++ b/src/gui/src/MainWindow.cpp @@ -225,6 +225,12 @@ void MainWindow::onCreated() { // ensure that the ctor is fully executed before we start loading the // app config. a signal is the clearest way to communicate this. m_AppConfig.loadAllScopes(); + + const auto serverEnabled = appConfig().serverGroupChecked(); + const auto clientEnabled = appConfig().clientGroupChecked(); + if (serverEnabled || clientEnabled) { + startCore(); + } } void MainWindow::onShown() { @@ -503,18 +509,11 @@ void MainWindow::createMenuBar() { } void MainWindow::applyConfig() { - const auto serverEnabled = appConfig().serverGroupChecked(); - const auto clientEnabled = appConfig().clientGroupChecked(); - - enableServer(serverEnabled); - enableClient(clientEnabled); + enableServer(appConfig().serverGroupChecked()); + enableClient(appConfig().clientGroupChecked()); m_pLineEditHostname->setText(appConfig().serverHostname()); m_pLineEditClientIp->setText(serverConfig().getClientAddress()); - - if (serverEnabled || clientEnabled) { - startCore(); - } } void MainWindow::saveSettings() {