[Qt] Fix segfault when launched with -disablewallet
This commit is contained in:
parent
29ef389514
commit
76fd7b8c26
3 changed files with 38 additions and 14 deletions
|
@ -159,10 +159,13 @@ BitcoinGUI::BitcoinGUI(bool fIsTestnet, QWidget *parent) :
|
|||
labelEncryptionIcon = new QLabel();
|
||||
labelConnectionsIcon = new QLabel();
|
||||
labelBlocksIcon = new QLabel();
|
||||
frameBlocksLayout->addStretch();
|
||||
frameBlocksLayout->addWidget(unitDisplayControl);
|
||||
frameBlocksLayout->addStretch();
|
||||
frameBlocksLayout->addWidget(labelEncryptionIcon);
|
||||
if(enableWallet)
|
||||
{
|
||||
frameBlocksLayout->addStretch();
|
||||
frameBlocksLayout->addWidget(unitDisplayControl);
|
||||
frameBlocksLayout->addStretch();
|
||||
frameBlocksLayout->addWidget(labelEncryptionIcon);
|
||||
}
|
||||
frameBlocksLayout->addStretch();
|
||||
frameBlocksLayout->addWidget(labelConnectionsIcon);
|
||||
frameBlocksLayout->addStretch();
|
||||
|
|
|
@ -473,6 +473,10 @@ void RPCConsole::on_tabWidget_currentChanged(int index)
|
|||
{
|
||||
ui->lineEdit->setFocus();
|
||||
}
|
||||
else if(ui->tabWidget->widget(index) == ui->tab_peers)
|
||||
{
|
||||
initPeerTable();
|
||||
}
|
||||
}
|
||||
|
||||
void RPCConsole::on_openDebugLogfileButton_clicked()
|
||||
|
@ -648,17 +652,10 @@ void RPCConsole::updateNodeDetail(const CNodeCombinedStats *combinedStats)
|
|||
ui->peerBanScore->setText(tr("Fetching..."));
|
||||
}
|
||||
|
||||
// We override the virtual resizeEvent of the QWidget to adjust tables column
|
||||
// sizes as the tables width is proportional to the dialogs width.
|
||||
void RPCConsole::resizeEvent(QResizeEvent *event)
|
||||
void RPCConsole::initPeerTable()
|
||||
{
|
||||
QWidget::resizeEvent(event);
|
||||
columnResizingFixer->stretchColumnWidth(PeerTableModel::Address);
|
||||
}
|
||||
|
||||
void RPCConsole::showEvent(QShowEvent *event)
|
||||
{
|
||||
QWidget::showEvent(event);
|
||||
if (!clientModel)
|
||||
return;
|
||||
|
||||
// peerWidget needs a resize in case the dialog has non-default geometry
|
||||
columnResizingFixer->stretchColumnWidth(PeerTableModel::Address);
|
||||
|
@ -667,10 +664,32 @@ void RPCConsole::showEvent(QShowEvent *event)
|
|||
clientModel->getPeerTableModel()->startAutoRefresh(1000);
|
||||
}
|
||||
|
||||
// We override the virtual resizeEvent of the QWidget to adjust tables column
|
||||
// sizes as the tables width is proportional to the dialogs width.
|
||||
void RPCConsole::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
QWidget::resizeEvent(event);
|
||||
|
||||
if (!clientModel)
|
||||
return;
|
||||
|
||||
columnResizingFixer->stretchColumnWidth(PeerTableModel::Address);
|
||||
}
|
||||
|
||||
void RPCConsole::showEvent(QShowEvent *event)
|
||||
{
|
||||
QWidget::showEvent(event);
|
||||
|
||||
initPeerTable();
|
||||
}
|
||||
|
||||
void RPCConsole::hideEvent(QHideEvent *event)
|
||||
{
|
||||
QWidget::hideEvent(event);
|
||||
|
||||
if (!clientModel)
|
||||
return;
|
||||
|
||||
// stop PeerTableModel auto refresh
|
||||
clientModel->getPeerTableModel()->stopAutoRefresh();
|
||||
}
|
||||
|
|
|
@ -47,6 +47,8 @@ protected:
|
|||
private:
|
||||
/** show detailed information on ui about selected node */
|
||||
void updateNodeDetail(const CNodeCombinedStats *combinedStats);
|
||||
/** initialize peer table */
|
||||
void initPeerTable();
|
||||
|
||||
enum ColumnWidths
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue