From 2e01c111463eaa5a4bbe9b12df6fa2dd9988cc43 Mon Sep 17 00:00:00 2001 From: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Date: Wed, 23 Mar 2022 17:15:52 +0100 Subject: [PATCH] Merge bitcoin-core/gui#568: options: flip listenonion to false if not listening 7f90dc26c8938f348938929b6d8bf1ea6f149209 options: flip listenonion to false if not listening (Vasil Dimov) Pull request description: If the user has unchecked "Allow incoming connections" in `Settings->Options...->Network` then `fListen=false` is saved in `~/.config/Bitcoin/Bitcoin-Qt.conf`. This flips `-listen` to `false` during startup, but leaves `-listenonion` to `true`. This flipping of `-listen` is done in `OptionsModel::Init()` after `InitParameterInteraction()` has been executed which would have flipped `-listenonion`, should it have seen `-listen` being `false` (this is a difference between `bitcoind` and `bitcoin-qt`). Fixes: https://github.com/bitcoin-core/gui/issues/567 ACKs for top commit: mzumsande: Tested ACK 7f90dc26c8938f348938929b6d8bf1ea6f149209 hebasto: ACK 7f90dc26c8938f348938929b6d8bf1ea6f149209 jonatack: utACK 7f90dc26c8938f348938929b6d8bf1ea6f149209 ryanofsky: Code review ACK 7f90dc26c8938f348938929b6d8bf1ea6f149209. Tree-SHA512: ff5095096858eae696293dc58d1cd5bd1bb60ef7c5d07d87308a0cf71c67da88cc00b301b550704625f136c4ba3a29905a934a766535a6422fe85d9662299d32 --- src/qt/optionsmodel.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qt/optionsmodel.cpp b/src/qt/optionsmodel.cpp index 6eeed875b5..9ece17c79b 100644 --- a/src/qt/optionsmodel.cpp +++ b/src/qt/optionsmodel.cpp @@ -266,8 +266,11 @@ void OptionsModel::Init(bool resetSettings) if (!settings.contains("fListen")) settings.setValue("fListen", DEFAULT_LISTEN); - if (!gArgs.SoftSetBoolArg("-listen", settings.value("fListen").toBool())) + if (!gArgs.SoftSetBoolArg("-listen", settings.value("fListen").toBool())) { addOverriddenOption("-listen"); + } else if (!settings.value("fListen").toBool()) { + gArgs.SoftSetBoolArg("-listenonion", false); + } if (!settings.contains("fUseProxy")) settings.setValue("fUseProxy", false);