Android: Fix Segfault when cancelling Android SDK installation

Fixes: QTCREATORBUG-30246
Change-Id: I929779e4cd8c37c9d69bd7aaffe9ae5b9acb7435
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Artem Sokolovskii
2024-02-08 11:05:00 +01:00
parent 1cddc3d0b6
commit cf7f9dffd5

View File

@@ -100,8 +100,8 @@ void AndroidSdkDownloader::downloadAndExtractSdk()
m_progressDialog->setFixedSize(m_progressDialog->sizeHint()); m_progressDialog->setFixedSize(m_progressDialog->sizeHint());
m_progressDialog->setAutoClose(false); m_progressDialog->setAutoClose(false);
connect(m_progressDialog.get(), &QProgressDialog::canceled, this, [this] { connect(m_progressDialog.get(), &QProgressDialog::canceled, this, [this] {
m_progressDialog.release()->deleteLater();
m_taskTreeRunner.reset(); m_taskTreeRunner.reset();
m_progressDialog.release()->deleteLater();
}); });
Storage<std::optional<FilePath>> storage; Storage<std::optional<FilePath>> storage;
@@ -116,6 +116,8 @@ void AndroidSdkDownloader::downloadAndExtractSdk()
return; return;
connect(reply, &QNetworkReply::downloadProgress, connect(reply, &QNetworkReply::downloadProgress,
this, [this](qint64 received, qint64 max) { this, [this](qint64 received, qint64 max) {
if (!m_progressDialog)
return;
m_progressDialog->setRange(0, max); m_progressDialog->setRange(0, max);
m_progressDialog->setValue(received); m_progressDialog->setValue(received);
}); });