-
Notifications
You must be signed in to change notification settings - Fork 1.2k
backport: merge bitcoin-core/gui#600, #601, #602, #701, #603 (migrate some QSettings to settings.json) #6833
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 19 commits
6c9f1ae
4fc25af
bb2efec
d7cc771
dd21992
eed631a
44833d9
2174fc6
fb97375
ea60d79
4f744c2
da15040
2bb8106
a5b5ede
c3a5ba1
70ff8ef
e429437
45976c7
0c3b224
076ce3d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| GUI changes | ||
| ----------- | ||
|
|
||
| Configuration changes made in the Dash GUI (such as the pruning setting, | ||
| proxy settings, UPNP preferences) are now saved to `<datadir>/settings.json` | ||
| file rather than to the Qt settings backend (windows registry or unix desktop | ||
| config files), so these settings will now apply to dashd, instead of being | ||
| ignored. | ||
|
|
||
| Also, the interaction between GUI settings and `dash.conf` settings is | ||
| simplified. Settings from `dash.conf` are now displayed normally in the GUI | ||
| settings dialog, instead of in a separate warning message ("Options set in this | ||
| dialog are overridden by the configuration file: -setting=value"). And these | ||
| settings can now be edited because `settings.json` values take precedence over | ||
| `dash.conf` values. |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -889,6 +889,8 @@ void BitcoinGUI::setClientModel(ClientModel *_clientModel, interfaces::BlockAndH | |||||||||||||||||
|
|
||||||||||||||||||
| connect(optionsModel, &OptionsModel::coinJoinEnabledChanged, this, &BitcoinGUI::updateCoinJoinVisibility); | ||||||||||||||||||
| } | ||||||||||||||||||
|
|
||||||||||||||||||
| m_mask_values_action->setChecked(_clientModel->getOptionsModel()->getOption(OptionsModel::OptionID::MaskValues).toBool()); | ||||||||||||||||||
| } else { | ||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Null-deref risk if OptionsModel is null. _setClientModel() unconditionally dereferences _clientModel->getOptionsModel() to set m_mask_values_action. This can crash when options model is not yet available. Guard it. - m_mask_values_action->setChecked(_clientModel->getOptionsModel()->getOption(OptionsModel::OptionID::MaskValues).toBool());
+ if (OptionsModel* opt = _clientModel->getOptionsModel()) {
+ m_mask_values_action->setChecked(opt->getOption(OptionsModel::OptionID::MaskValues).toBool());
+ } else {
+ m_mask_values_action->setChecked(false);
+ }📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||
| if(trayIconMenu) | ||||||||||||||||||
| { | ||||||||||||||||||
|
|
||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.