From ab0be06cdbe5ea51f75f8c7d5fd3b4c7f64c4514 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 19 Feb 2015 09:39:36 +0100 Subject: [PATCH] Bug 460303 - Initial output of a local terminal might get wrapped at column 80 Make sure the layout of the terminal control happens before the terminal is connected to the remote. Change-Id: Ic12c93fb6fd459652836a5568f79f168a68d585f Signed-off-by: Anton Leherbauer --- .../emulator/VT100TerminalControl.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index a5d180b925a..dcf15b6b77c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -403,9 +403,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // we cannot connect because the connector was not initialized return; } - getTerminalConnector().connect(this); // clean the error message setMsg(""); //$NON-NLS-1$ + getTerminalConnector().connect(this); waitForConnect(); } @@ -443,25 +443,21 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } - // TODO private void waitForConnect() { Logger.log("entered."); //$NON-NLS-1$ - // TODO - // Eliminate this code - while (getState()==TerminalState.CONNECTING) { - if (fDisplay.readAndDispatch()) - continue; - fDisplay.sleep(); - } - if(getCtlText().isDisposed()) { + // TODO Eliminate the nested dispatch loop + do { + if (!fDisplay.readAndDispatch()) + fDisplay.sleep(); + } while (getState()==TerminalState.CONNECTING); + + if (getCtlText().isDisposed()) { disconnectTerminal(); return; } - if (!getMsg().equals("")) //$NON-NLS-1$ - { + if (getMsg().length() > 0) { showErrorMessage(getMsg()); - disconnectTerminal(); return; }