Skip to content

Commit 2ac2236

Browse files
committed
Bugfix: GUI: Fallback to known units, if an unsupported one is set at startup
1 parent 9f65006 commit 2ac2236

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

src/qt/optionsmodel.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,17 @@ bool OptionsModel::Init(bilingual_str& error)
168168
if (!settings.contains("DisplayBitcoinUnit")) {
169169
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(BitcoinUnit::BTC));
170170
}
171-
QVariant unit = settings.value("DisplayBitcoinUnit");
172-
if (unit.canConvert<BitcoinUnit>()) {
173-
m_display_bitcoin_unit = unit.value<BitcoinUnit>();
174-
} else {
171+
172+
constexpr auto unit_set_to_variant = [](BitcoinUnit& out, const QVariant& unit_variant){
173+
if (unit_variant.isNull()) return false;
174+
if (!unit_variant.canConvert<BitcoinUnit>()) return false;
175+
const auto unit = unit_variant.value<BitcoinUnit>();
176+
if (!BitcoinUnits::availableUnits().contains(unit)) return false;
177+
out = unit;
178+
return true;
179+
};
180+
if (!unit_set_to_variant(m_display_bitcoin_unit, settings.value("DisplayBitcoinUnit"))) {
175181
m_display_bitcoin_unit = BitcoinUnit::BTC;
176-
settings.setValue("DisplayBitcoinUnit", QVariant::fromValue(m_display_bitcoin_unit));
177182
}
178183

179184
if (!settings.contains("strThirdPartyTxUrls"))

0 commit comments

Comments
 (0)