From 950d88dcbe7b9b2d348fb25b5ffcd0c6d2d30b97 Mon Sep 17 00:00:00 2001 From: Martino Facchin Date: Fri, 16 Feb 2018 09:30:40 +0100 Subject: [PATCH] Handle unsaved tab deletion correctly --- app/src/processing/app/SketchController.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/SketchController.java b/app/src/processing/app/SketchController.java index d09ba7a74..2e2c9bc90 100644 --- a/app/src/processing/app/SketchController.java +++ b/app/src/processing/app/SketchController.java @@ -253,13 +253,21 @@ public class SketchController { sketch.delete(); editor.base.handleClose(editor); } else { + + boolean neverSavedTab = !current.fileExists(); + // delete the file - if (!current.delete(sketch.getBuildPath().toPath())) { + if (!current.delete(sketch.getBuildPath().toPath()) && !neverSavedTab) { Base.showMessage(tr("Couldn't do it"), I18n.format(tr("Could not delete \"{0}\"."), current.getFileName())); return; } + if (neverSavedTab) { + // remove the file from the sketch list + sketch.removeFile(current); + } + editor.removeTab(current); // just set current tab to the main tab