File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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" ))
You can’t perform that action at this time.
0 commit comments