diff options
-rw-r--r-- | plugins/org.eclipse.tcf/src/org/eclipse/tcf/EventQueue.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/plugins/org.eclipse.tcf/src/org/eclipse/tcf/EventQueue.java b/plugins/org.eclipse.tcf/src/org/eclipse/tcf/EventQueue.java index 5fd4f564e..f3540a673 100644 --- a/plugins/org.eclipse.tcf/src/org/eclipse/tcf/EventQueue.java +++ b/plugins/org.eclipse.tcf/src/org/eclipse/tcf/EventQueue.java @@ -12,6 +12,7 @@ package org.eclipse.tcf; import java.util.LinkedList; +import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.jobs.IJobChangeEvent; import org.eclipse.core.runtime.jobs.IJobChangeListener; import org.eclipse.core.runtime.jobs.Job; @@ -102,7 +103,12 @@ class EventQueue implements IEventQueue, Runnable { public synchronized void invokeLater(final Runnable r) { assert r != null; - if (shutdown) throw new IllegalStateException("TCF event dispatcher has shut down"); //$NON-NLS-1$ + if (shutdown) { + // If not in debug mode, silently ignore this case to avoid + // confusion and bad impression to the user. + if (Platform.inDebugMode()) throw new IllegalStateException("TCF event dispatcher has shut down"); //$NON-NLS-1$ + else return; + } queue.add(r); if (waiting) { waiting = false; |