mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-20 07:09:15 +01:00
qt: Avoid crash on startup if int specified in settings.json
Fix GUI startup crash reported by Rspigler in
https://github.com/bitcoin/bitcoin/issues/24457 that happens if
settings.json contains an integer value for any of the configuration
options which GUI settings can currently clash with (-dbcache, -par,
-spendzeroconfchange, -signer, -upnp, -natpmp, -listen, -server, -proxy,
-proxy, -onion, -onion, -lang, and -prune).
Fix is a one-line change in ArgsManager::GetArg.
Github-Pull: bitcoin/bitcoin#24498
Rebased-From: 5b1aae12ca
This commit is contained in:
@@ -98,21 +98,21 @@ BOOST_AUTO_TEST_CASE(setting_args)
|
||||
|
||||
set_foo(99);
|
||||
BOOST_CHECK_EQUAL(args.GetSetting("foo").write(), "99");
|
||||
BOOST_CHECK_THROW(args.GetArg("foo", "default"), std::runtime_error);
|
||||
BOOST_CHECK_EQUAL(args.GetArg("foo", "default"), "99");
|
||||
BOOST_CHECK_EQUAL(args.GetIntArg("foo", 100), 99);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", true), std::runtime_error);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", false), std::runtime_error);
|
||||
|
||||
set_foo(3.25);
|
||||
BOOST_CHECK_EQUAL(args.GetSetting("foo").write(), "3.25");
|
||||
BOOST_CHECK_THROW(args.GetArg("foo", "default"), std::runtime_error);
|
||||
BOOST_CHECK_EQUAL(args.GetArg("foo", "default"), "3.25");
|
||||
BOOST_CHECK_THROW(args.GetIntArg("foo", 100), std::runtime_error);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", true), std::runtime_error);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", false), std::runtime_error);
|
||||
|
||||
set_foo(0);
|
||||
BOOST_CHECK_EQUAL(args.GetSetting("foo").write(), "0");
|
||||
BOOST_CHECK_THROW(args.GetArg("foo", "default"), std::runtime_error);
|
||||
BOOST_CHECK_EQUAL(args.GetArg("foo", "default"), "0");
|
||||
BOOST_CHECK_EQUAL(args.GetIntArg("foo", 100), 0);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", true), std::runtime_error);
|
||||
BOOST_CHECK_THROW(args.GetBoolArg("foo", false), std::runtime_error);
|
||||
|
||||
Reference in New Issue
Block a user