forked from qt-creator/qt-creator
QProgressDialog: Set infinite minimum duration
To suppress calls to QCoreApplication::processEvents() from inside QProgressDialog::setValue(). Otherwise it interfere with the task tree internals and may lead to crash. Fixes: QTCREATORBUG-32746 Change-Id: Ic6f42061fedd702aec070e667ecafe27e1a2158b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -95,6 +95,7 @@ GroupItem downloadSdkRecipe()
|
||||
progressDialog.reset(new QProgressDialog(Tr::tr("Downloading SDK Tools package..."),
|
||||
Tr::tr("Cancel"), 0, 100, Core::ICore::dialogParent()));
|
||||
progressDialog->setWindowModality(Qt::ApplicationModal);
|
||||
progressDialog->setMinimumDuration(INT_MAX); // In order to suppress calls to processEvents() from setValue()
|
||||
progressDialog->setWindowTitle(dialogTitle());
|
||||
progressDialog->setFixedSize(progressDialog->sizeHint());
|
||||
progressDialog->setAutoClose(false);
|
||||
|
@@ -317,6 +317,7 @@ void AvdDialog::createAvd()
|
||||
progressDialog.reset(new QProgressDialog(Core::ICore::dialogParent()));
|
||||
progressDialog->setRange(0, 0);
|
||||
progressDialog->setWindowModality(Qt::ApplicationModal);
|
||||
progressDialog->setMinimumDuration(INT_MAX); // In order to suppress calls to processEvents() from setValue()
|
||||
progressDialog->setWindowTitle("Create new AVD");
|
||||
progressDialog->setLabelText(Tr::tr("Creating new AVD device..."));
|
||||
progressDialog->setFixedSize(progressDialog->sizeHint());
|
||||
|
@@ -697,6 +697,7 @@ void ExtensionManagerWidget::fetchAndInstallPlugin(const QUrl &url, const QStrin
|
||||
Tr::tr("Downloading..."), Tr::tr("Cancel"), 0, 0, ICore::dialogParent()));
|
||||
progressDialog->setWindowTitle(Tr::tr("Download Extension"));
|
||||
progressDialog->setWindowModality(Qt::ApplicationModal);
|
||||
progressDialog->setMinimumDuration(INT_MAX); // In order to suppress calls to processEvents() from setValue()
|
||||
progressDialog->setFixedSize(progressDialog->sizeHint());
|
||||
progressDialog->setAutoClose(false);
|
||||
progressDialog->show(); // TODO: Should not be needed. Investigate possible QT_BUG
|
||||
|
@@ -318,6 +318,7 @@ GroupItem WindowsSettingsWidget::downloadNugetRecipe()
|
||||
Tr::tr("Cancel"), 0, 100,
|
||||
Core::ICore::dialogParent()));
|
||||
progressDialog->setWindowModality(Qt::ApplicationModal);
|
||||
progressDialog->setMinimumDuration(INT_MAX); // In order to suppress calls to processEvents() from setValue()
|
||||
progressDialog->setWindowTitle(Tr::tr("Downloading"));
|
||||
progressDialog->setFixedSize(progressDialog->sizeHint());
|
||||
progressDialog->setAutoClose(false);
|
||||
|
Reference in New Issue
Block a user