From e6165e38bc827e54d58b5ac13327e6158947e6f1 Mon Sep 17 00:00:00 2001 From: alamshafil Date: Wed, 14 Sep 2022 21:36:18 -0400 Subject: [PATCH] qt: Check wallet model to prevent segfault --- src/qt/overviewpage.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index 6bd426e0a..4d660ec44 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -409,16 +409,26 @@ OverviewPage::OverviewPage(const PlatformStyle *platformStyle, QWidget *parent) // Network request code for price QObject::connect(networkManager, &QNetworkAccessManager::finished, this, [=](QNetworkReply* reply) { + + // Default values + int unit = 0; + QString currency = "usd"; + if (reply->error()) { qDebug() << reply->errorString(); + // Failed to get price info, just display total balance. + ui->labelTotal->setText(AvianUnits::formatWithUnit(unit, currentBalance + currentUnconfirmedBalance + currentImmatureBalance, false, AvianUnits::separatorAlways)); return; } + + if (walletModel->getOptionsModel()) { + // Get selected unit + unit = walletModel->getOptionsModel()->getDisplayUnit(); - // Get selected unit - int unit = walletModel->getOptionsModel()->getDisplayUnit(); + // Get user currency unit + currency = walletModel->getOptionsModel()->getDisplayCurrency(); + } - // Get user currency unit - QString currency = walletModel->getOptionsModel()->getDisplayCurrency(); // Get the data from the network request QString answer = reply->readAll();