Index: src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java =================================================================== --- src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java (revision 42672) +++ src/org/jboss/tools/forge/core/process/ForgeAbstractRuntime.java (working copy) @@ -25,7 +25,7 @@ private IProcess process = null; private String state = STATE_NOT_RUNNING; private final TerminateListener terminateListener = new TerminateListener(); - private MasterOutputListener masterOutputListener = new MasterOutputListener(); + private MasterStreamListener masterStreamListener = new MasterStreamListener(); private CommandResultListener commandResultListener = new CommandResultListener(); private PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); private List outputListeners = new ArrayList(); @@ -56,7 +56,11 @@ IStreamMonitor streamMonitor = streamsProxy.getOutputStreamMonitor(); if (streamMonitor != null) { streamMonitor.addListener(startupListener); - streamMonitor.addListener(masterOutputListener); + streamMonitor.addListener(masterStreamListener); + } + IStreamMonitor errorStreamMonitor = streamsProxy.getErrorStreamMonitor(); + if (errorStreamMonitor != null) { + errorStreamMonitor.addListener(masterStreamListener); } } } @@ -96,7 +100,7 @@ IStreamMonitor streamMonitor = streamsProxy.getOutputStreamMonitor(); if (streamMonitor != null) { commandResultListener.command = str + '\n'; - streamMonitor.removeListener(masterOutputListener); + streamMonitor.removeListener(masterStreamListener); streamMonitor.addListener(commandResultListener); try { streamsProxy.write(new Character((char)31).toString() + str + '\n'); @@ -113,7 +117,7 @@ commandResultListener.result = null; commandResultListener.command = null; streamMonitor.removeListener(commandResultListener); - streamMonitor.addListener(masterOutputListener); + streamMonitor.addListener(masterStreamListener); } } } @@ -152,7 +156,11 @@ if (streamsProxy != null) { IStreamMonitor streamMonitor = streamsProxy.getOutputStreamMonitor(); if (streamMonitor != null) { - streamMonitor.removeListener(masterOutputListener); + streamMonitor.removeListener(masterStreamListener); + } + IStreamMonitor errorStreamMonitor = streamsProxy.getErrorStreamMonitor(); + if (errorStreamMonitor != null) { + errorStreamMonitor.removeListener(masterStreamListener); } } process.terminate(); @@ -193,7 +201,7 @@ } } - private class MasterOutputListener implements IStreamListener { + private class MasterStreamListener implements IStreamListener { @Override public void streamAppended(String text, IStreamMonitor monitor) { for (ForgeOutputListener listener : outputListeners) {