forked from qt-creator/qt-creator
McuSupport: Fix kit creation dialog crash
Use copies of messages to avoid their reference going out of scope Fix increment current message index for when there is only one message Fixes: QTCREATORBUG-30360 Change-Id: I26fac50ed171aaed7d178cc8f97ace401bf49e7c Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -78,12 +78,18 @@ McuKitCreationDialog::McuKitCreationDialog(const MessagesList &messages,
|
||||
QPushButton *fixButton = buttonBox->addButton(Tr::tr("Fix"), QDialogButtonBox::ActionRole);
|
||||
QPushButton *helpButton = buttonBox->addButton(Tr::tr("Help"), QDialogButtonBox::HelpRole);
|
||||
|
||||
if (messages.size() == 1) {
|
||||
if (messages.empty()) {
|
||||
fixButton->setVisible(false);
|
||||
m_informationLabel->setText(
|
||||
QCoreApplication::translate("QtC::Autotest", "No errors detected"));
|
||||
}
|
||||
|
||||
if (messages.size() < 2) {
|
||||
m_nextButton->setVisible(false);
|
||||
m_previousButton->setVisible(false);
|
||||
}
|
||||
//display first message
|
||||
if (messages.size() > 1)
|
||||
if (!messages.empty())
|
||||
updateMessage(1);
|
||||
|
||||
if (qtMCUPackage->isValidStatus())
|
||||
|
@@ -255,7 +255,7 @@ McuKitManager::UpgradeOption McuSupportOptions::askForKitUpgrades()
|
||||
return McuKitManager::UpgradeOption::Ignore;
|
||||
}
|
||||
|
||||
void McuSupportOptions::displayKitCreationMessages(const MessagesList &messages,
|
||||
void McuSupportOptions::displayKitCreationMessages(const MessagesList messages,
|
||||
const SettingsHandler::Ptr &settingsHandler,
|
||||
McuPackagePtr qtMCUsPackage)
|
||||
{
|
||||
@@ -269,7 +269,7 @@ void McuSupportOptions::displayKitCreationMessages(const MessagesList &messages,
|
||||
Tr::tr("Errors while creating Qt for MCUs kits"),
|
||||
Utils::InfoBarEntry::GlobalSuppression::Enabled);
|
||||
|
||||
info.addCustomButton(Tr::tr("Details"), [=] {
|
||||
info.addCustomButton(Tr::tr("Details"), [messages, &settingsHandler, qtMCUsPackage] {
|
||||
auto popup = new McuKitCreationDialog(messages, settingsHandler, qtMCUsPackage);
|
||||
popup->exec();
|
||||
delete popup;
|
||||
|
@@ -59,7 +59,7 @@ public:
|
||||
[[nodiscard]] Utils::FilePath qulDirFromSettings() const;
|
||||
[[nodiscard]] Utils::FilePath qulDocsDir() const;
|
||||
static McuKitManager::UpgradeOption askForKitUpgrades();
|
||||
static void displayKitCreationMessages(const MessagesList &messages,
|
||||
static void displayKitCreationMessages(const MessagesList messages,
|
||||
const SettingsHandler::Ptr &settingsHandler,
|
||||
McuPackagePtr qtMCUsPackage);
|
||||
|
||||
|
Reference in New Issue
Block a user