Fix crash when canceling save of new database (#2601)

* Fix crash when canceling save of new database
* Standardize use of DatabaseWidget::save() function
* Close new database tabs that are "discarded"
* Fixes #2604. autoSaveOnExit setting
* Re-implement autosave functionality
This commit is contained in:
Jonathan White 2019-01-25 07:20:39 -05:00 committed by GitHub
parent d66299260c
commit c74664097b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 48 additions and 18 deletions

View file

@ -515,9 +515,12 @@ DatabaseWidget* DatabaseTabWidget::currentDatabaseWidget()
void DatabaseTabWidget::lockDatabases()
{
for (int i = 0, c = count(); i < c; ++i) {
if (!databaseWidgetFromIndex(i)->lock()) {
return;
auto dbWidget = databaseWidgetFromIndex(i);
if (dbWidget->lock() && dbWidget->database()->filePath().isEmpty()) {
// If we locked a database without a file close the tab
closeDatabaseTab(dbWidget);
}
}
}