FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

simpler solution for disappearance warning (#4805) · processing/processing@d1ce74b · GitHub

Repository navigation

Commit d1ce74b

Browse files
committed
simpler solution for disappearance warning (#4805)
1 parent b3763a8 commit d1ce74b

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

‎app/src/processing/app/Sketch.java‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@
4040
import java.beans.PropertyChangeListener;
4141
import java.io.*;
4242
import java.util.ArrayList;
43-
import java.util.HashSet;
4443
import java.util.List;
45-
import java.util.Set;
4644
import java.util.concurrent.atomic.AtomicBoolean;
4745

4846
import javax.swing.*;
@@ -93,6 +91,8 @@ public class Sketch {
9391
/** Moved out of Editor and into here for cleaner access. */
9492
private boolean untitled;
9593

94+
/** true if we've posted a "sketch disappeared" warning */
95+
private boolean disappearedWarning;
9696

9797
/**
9898
* Used by the command-line version to create a sketch object.
@@ -125,6 +125,7 @@ protected void load(String path) {
125125
int suffixLength = mode.getDefaultExtension().length() + 1;
126126
name = mainFilename.substring(0, mainFilename.length() - suffixLength);
127127
folder = new File(new File(path).getParent());
128+
disappearedWarning = false;
128129
load();
129130
}
130131

@@ -1199,6 +1200,7 @@ protected void updateInternal(String sketchName, File sketchFolder) {
11991200

12001201
name = sketchName;
12011202
folder = sketchFolder;
1203+
disappearedWarning = false;
12021204
codeFolder = new File(folder, "code");
12031205
dataFolder = new File(folder, "data");
12041206

@@ -1499,8 +1501,6 @@ public void prepareBuild(File targetFolder) throws SketchException {
14991501
*/
15001502

15011503

1502-
private Set<File> existenceWarnings = new HashSet<>();
1503-
15041504
/**
15051505
* Make sure the sketch hasn't been moved or deleted by a nefarious user.
15061506
* If they did, try to re-create it and save. Only checks whether the
@@ -1510,8 +1510,8 @@ public void ensureExistence() {
15101510
if (!folder.exists()) {
15111511
// Avoid an infinite loop if we've already warned about this
15121512
// https://github.com/processing/processing/issues/4805
1513-
if (!existenceWarnings.contains(folder)) {
1514-
existenceWarnings.add(folder);
1513+
if (!disappearedWarning) {
1514+
disappearedWarning = true;
15151515

15161516
// Disaster recovery, try to salvage what's there already.
15171517
Messages.showWarning(Language.text("ensure_exist.messages.missing_sketch"),
@@ -1526,6 +1526,7 @@ public void ensureExistence() {
15261526
calcModified();
15271527

15281528
} catch (Exception e) {
1529+
// disappearedWarning prevents infinite loop in this scenario
15291530
Messages.showWarning(Language.text("ensure_exist.messages.unrecoverable"),
15301531
Language.text("ensure_exist.messages.unrecoverable.description"), e);
15311532
}

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL