From 8395134a4cdc78e8fa6319d0e1ac3a8436504e6a Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 21 Jan 2017 00:52:49 +0100 Subject: [PATCH 1/3] Hide sketchbook window before creating a new one Copy pasted from rebuildExamplesFrame() --- app/src/processing/app/Mode.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java index c7ceb1e2e2..52ff24192e 100644 --- a/app/src/processing/app/Mode.java +++ b/app/src/processing/app/Mode.java @@ -691,11 +691,18 @@ public DefaultMutableTreeNode buildSketchbookTree() { /** Sketchbook has changed, update it on next viewing. */ public void rebuildSketchbookFrame() { - boolean wasVisible = - (sketchbookFrame == null) ? false : sketchbookFrame.isVisible(); - sketchbookFrame = null; // Force a rebuild - if (wasVisible) { - showSketchbookFrame(); + if (sketchbookFrame != null) { + boolean visible = sketchbookFrame.isVisible(); + Rectangle bounds = null; + if (visible) { + bounds = sketchbookFrame.getBounds(); + sketchbookFrame.setVisible(false); + } + sketchbookFrame = null; + if (visible) { + showSketchbookFrame(); + sketchbookFrame.setBounds(bounds); + } } } From 3d212921b28efb991f7dee4986c698e075fa9de2 Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 21 Jan 2017 00:53:27 +0100 Subject: [PATCH 2/3] Make sure old windows are disposed properly --- app/src/processing/app/Mode.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/processing/app/Mode.java b/app/src/processing/app/Mode.java index 52ff24192e..2e6087fd56 100644 --- a/app/src/processing/app/Mode.java +++ b/app/src/processing/app/Mode.java @@ -656,6 +656,7 @@ public void rebuildExamplesFrame() { if (visible) { bounds = examplesFrame.getBounds(); examplesFrame.setVisible(false); + examplesFrame.dispose(); } examplesFrame = null; if (visible) { @@ -697,6 +698,7 @@ public void rebuildSketchbookFrame() { if (visible) { bounds = sketchbookFrame.getBounds(); sketchbookFrame.setVisible(false); + sketchbookFrame.dispose(); } sketchbookFrame = null; if (visible) { From 7b8f3078b2ee77868e3a8b2756e3f57e817c2a05 Mon Sep 17 00:00:00 2001 From: Jakub Valtar Date: Sat, 21 Jan 2017 00:54:21 +0100 Subject: [PATCH 3/3] Rebuild menus after deleting sketch --- app/src/processing/app/Sketch.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/processing/app/Sketch.java b/app/src/processing/app/Sketch.java index 214080f2bb..9a01d991c6 100644 --- a/app/src/processing/app/Sketch.java +++ b/app/src/processing/app/Sketch.java @@ -657,9 +657,10 @@ public void handleDeleteCode() { // get the changes into the sketchbook menu //sketchbook.rebuildMenus(); - // make a new sketch, and i think this will rebuild the sketch menu + // make a new sketch and rebuild the sketch menu //editor.handleNewUnchecked(); //editor.handleClose2(); + editor.getBase().rebuildSketchbookMenus(); editor.getBase().handleClose(editor, false); } else {