diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index cc75630f8d1..146e54eca3c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Ruslan Sychev - [217675] NPE or SWTException when closing Terminal View while connection establishing *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -285,6 +286,10 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro fDisplay.sleep(); } + if(getCtlText().isDisposed()) { + disconnectTerminal(); + return; + } if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg()); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 4ecf4a92ca6..254e9a4c1e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs * Martin Oberhuber (Wind River) - [208145] Terminal prints garbage after quick disconnect/reconnect * Martin Oberhuber (Wind River) - [207785] NPE when trying to send char while no longer connected + * Ruslan Sychev - [217675] NPE or SWTException when closing Terminal View while connection establishing *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -322,6 +323,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fDisplay.sleep(); } + if(getCtlText().isDisposed()) { + disconnectTerminal(); + return; + } if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg());