From 6a973b377a0e5d12773db1c4afe9caf294d7edf4 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Wed, 25 Aug 2004 13:42:41 +0000 Subject: [PATCH] fixed bug # 72074 --- .../ui/buildconsole/BuildConsolePage.java | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java index 458aadffe7e..3862863bef5 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsolePage.java @@ -114,17 +114,29 @@ public class BuildConsolePage extends Page implements ISelectionListener, IPrope return null; } - public void consoleChange(IBuildConsoleEvent event) { + public void consoleChange(final IBuildConsoleEvent event) { if (event.getType() == IBuildConsoleEvent.CONSOLE_START || event.getType() == IBuildConsoleEvent.CONSOLE_CLOSE) { - if (isAvailable()) { - if (event.getType() == IBuildConsoleEvent.CONSOLE_CLOSE && getProject() != event.getProject()) { - return; - } - setProject(event.getProject()); - if (isAvailable()) { - setDocument(); - getConsole().setTitle(getProject()); - } + Control control = getControl(); + if (control != null && !control.isDisposed()) { + Display display = control.getDisplay(); + display.asyncExec(new Runnable() { + + /* (non-Javadoc) + * @see java.lang.Runnable#run() + */ + public void run() { + if (isAvailable()) { + if (event.getType() == IBuildConsoleEvent.CONSOLE_CLOSE && getProject() != event.getProject()) { + return; + } + setProject(event.getProject()); + if (isAvailable()) { + setDocument(); + getConsole().setTitle(getProject()); + } + } + } + }); } } }