diff --git a/app/src/processing/app/Editor.java b/app/src/processing/app/Editor.java index 49c092fd9..8ed2ccc73 100644 --- a/app/src/processing/app/Editor.java +++ b/app/src/processing/app/Editor.java @@ -1015,22 +1015,20 @@ public class Editor extends JFrame implements RunnerListener { //System.out.println(item.getLabel()); BaseNoGui.selectSerialPort(name); - if (serialMonitor != null) { - try { + try { + boolean reopenMonitor = ((serialMonitor != null && serialMonitor.isVisible()) || + serialPlotter != null && serialPlotter.isVisible()); + if (serialMonitor != null) { serialMonitor.close(); - serialMonitor.setVisible(false); - } catch (Exception e) { - // ignore } - } - - if (serialPlotter != null) { - try { + if (serialPlotter != null) { serialPlotter.close(); - serialPlotter.setVisible(false); - } catch (Exception e) { - // ignore } + if (reopenMonitor) { + handleSerial(); + } + } catch (Exception e) { + // ignore } onBoardOrPortChange();