diff --git a/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java b/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java index f87d48838ea..654d199af7c 100644 --- a/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java +++ b/debug/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/console/ConsoleColorProvider.java @@ -38,9 +38,11 @@ public class ConsoleColorProvider implements IConsoleColorProvider { public void connect(IProcess process, IConsole console) { fProcess = process; fConsole = console; - IStreamsProxy streamsProxy = fProcess.getStreamsProxy(); + // Wire up via the arguments, not the fields: a shared provider instance + // may be connected concurrently for different processes (issue #2638). + IStreamsProxy streamsProxy = process.getStreamsProxy(); if (streamsProxy != null) { - fConsole.connect(streamsProxy); + console.connect(streamsProxy); } }