From c698d440d754c1c5b13aa947684874c3bcc9b543 Mon Sep 17 00:00:00 2001 From: explos Date: Sun, 6 Aug 2023 10:40:28 +0100 Subject: [PATCH] Fix bug preventing adding new area --- leveleditor/leveleditorwindow.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/leveleditor/leveleditorwindow.cpp b/leveleditor/leveleditorwindow.cpp index 027df36..a3a756c 100644 --- a/leveleditor/leveleditorwindow.cpp +++ b/leveleditor/leveleditorwindow.cpp @@ -630,24 +630,24 @@ const int LevelEditorWindow::showSaveDialog() return exitCode; } -void LevelEditorWindow::on_actionAddArea_triggered() -{ +void LevelEditorWindow::on_actionAddArea_triggered() { + if (status == EditorStatus::Unsaved || status == EditorStatus::SaveFailed) { int exitCode = showSaveDialog(); - if (exitCode != QMessageBox::Cancel) - { - if (lvlMgr->getAreaCount() >= 4) - { - QMessageBox::information(this, "CoinKiller", tr("Due to limitations there can only be a maximum of 4 areas in a level."), QMessageBox::Ok); - return; - } - - int seekArea = lvlMgr->addArea(lvlMgr->getAreaCount()); - loadArea(seekArea); - updateAreaSelector(seekArea); + if (exitCode == QMessageBox::Cancel) { + return; } } + + if (lvlMgr->getAreaCount() >= 4) { + QMessageBox::information(this, "CoinKiller", tr("Due to limitations there can only be a maximum of 4 areas in a level."), QMessageBox::Ok); + return; + } + + int seekArea = lvlMgr->addArea(lvlMgr->getAreaCount()); + loadArea(seekArea); + updateAreaSelector(seekArea); } void LevelEditorWindow::on_actionDeleteCurrentArea_triggered()