options: flip listenonion to false if not listening

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

Github-Pull: bitcoin-core/gui#568
Rebased-From: 7f90dc26c8
This commit is contained in:
Vasil Dimov 2022-03-23 11:25:19 +01:00 committed by Hennadii Stepanov
parent 642f2726de
commit 70f2c579b9
No known key found for this signature in database
GPG key ID: 410108112E7EA81F

View file

@ -151,8 +151,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("server")) {
settings.setValue("server", false);