From 4f676ae20604fc621e745ae66caccda8a4df3932 Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Wed, 28 Jun 2017 15:35:30 +0200 Subject: [PATCH] Check for errors when reading or writing sQL files See issue #1036. --- src/MainWindow.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index db2fc93f..0a43dcb0 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -1643,6 +1643,11 @@ void MainWindow::openSqlFile() { QFile f(file); f.open(QIODevice::ReadOnly); + if(!f.isOpen()) + { + QMessageBox::warning(this, qApp->applicationName(), tr("Couldn't read file: %1.").arg(f.errorString())); + return; + } // Decide whether to open a new tab or take the current one unsigned int index; @@ -1671,10 +1676,13 @@ void MainWindow::saveSqlFile() } else { QFile f(sqlarea->fileName()); f.open(QIODevice::WriteOnly); - f.write(sqlarea->getSql().toUtf8()); - - QFileInfo fileinfo(sqlarea->fileName()); - ui->tabSqlAreas->setTabText(ui->tabSqlAreas->currentIndex(), fileinfo.fileName()); + if(f.isOpen() && f.write(sqlarea->getSql().toUtf8()) != -1) + { + QFileInfo fileinfo(sqlarea->fileName()); + ui->tabSqlAreas->setTabText(ui->tabSqlAreas->currentIndex(), fileinfo.fileName()); + } else { + QMessageBox::warning(this, qApp->applicationName(), tr("Couldn't save file: %1.").arg(f.errorString())); + } } }