diff options
author | Kai Koehne <kai.koehne@qt.io> | 2018-11-27 11:18:10 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@qt.io> | 2018-11-28 11:50:45 +0000 |
commit | f34661999aaf09920b46e5789a578cb81ebb0c6d (patch) | |
tree | 3f4160c30ebb2546ab0e627258e23ea3fa1d7f14 | |
parent | 5fecd2ba6b20147198c7a108095ef8bd1f617c28 (diff) | |
download | qttools-f34661999aaf09920b46e5789a578cb81ebb0c6d.tar.gz |
distancefieldgenerator: Fix crash in select actions for empty document
Fixes: QTBUG-72051
Change-Id: Ib3862f8d592bcab54ee72cc87c4e7dbc213f1e87
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r-- | src/distancefieldgenerator/mainwindow.cpp | 29 |
1 files changed, 12 insertions, 17 deletions
diff --git a/src/distancefieldgenerator/mainwindow.cpp b/src/distancefieldgenerator/mainwindow.cpp index 72ea4e308..98efe9572 100644 --- a/src/distancefieldgenerator/mainwindow.cpp +++ b/src/distancefieldgenerator/mainwindow.cpp @@ -53,11 +53,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) , m_settings(qApp->organizationName(), qApp->applicationName()) - , m_model(nullptr) + , m_model(new DistanceFieldModel(this)) , m_statusBarLabel(nullptr) , m_statusBarProgressBar(nullptr) { ui->setupUi(this); + ui->lvGlyphs->setModel(m_model); m_statusBarLabel = new QLabel(this); m_statusBarLabel->setText(tr("Ready")); @@ -98,6 +99,16 @@ void MainWindow::setupConnections() QMessageBox::aboutQt(this); }); connect(ui->lwUnicodeRanges, &QListWidget::itemSelectionChanged, this, &MainWindow::updateUnicodeRanges); + + connect(ui->lvGlyphs->selectionModel(), + &QItemSelectionModel::selectionChanged, + this, + &MainWindow::updateSelection); + connect(m_model, &DistanceFieldModel::startGeneration, this, &MainWindow::startProgressBar); + connect(m_model, &DistanceFieldModel::stopGeneration, this, &MainWindow::stopProgressBar); + connect(m_model, &DistanceFieldModel::distanceFieldGenerated, this, &MainWindow::updateProgressBar); + connect(m_model, &DistanceFieldModel::stopGeneration, this, &MainWindow::populateUnicodeRanges); + connect(m_model, &DistanceFieldModel::error, this, &MainWindow::displayError); } void MainWindow::saveAs() @@ -562,22 +573,6 @@ void MainWindow::openFont() m_fontDir = QFileInfo(fileName).absolutePath(); m_settings.setValue(QStringLiteral("fontDirectory"), m_fontDir); - if (m_model == nullptr) { - m_model = new DistanceFieldModel(this); - connect(m_model, &DistanceFieldModel::startGeneration, this, &MainWindow::startProgressBar); - connect(m_model, &DistanceFieldModel::stopGeneration, this, &MainWindow::stopProgressBar); - connect(m_model, &DistanceFieldModel::distanceFieldGenerated, this, &MainWindow::updateProgressBar); - connect(m_model, &DistanceFieldModel::stopGeneration, this, &MainWindow::populateUnicodeRanges); - connect(m_model, &DistanceFieldModel::error, this, &MainWindow::displayError); - - ui->lvGlyphs->setModel(m_model); - - connect(ui->lvGlyphs->selectionModel(), - &QItemSelectionModel::selectionChanged, - this, - &MainWindow::updateSelection); - } - ui->lwUnicodeRanges->clear(); ui->lwUnicodeRanges->setDisabled(true); ui->action_Save->setDisabled(true); |