Bug 451797 - [platform] UI freezes in
IOConsolePartitioner$TrimJob.runInUIThread
Reverting the main part of the change from bug 108568 commit
8b377c8203a4054eebd2bb3740bf40296b63d3d8.
Change-Id: I306f6d66de31d1787e40b8da0dda60fa66986c6a
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
index d445277..3289b75 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
@@ -31,7 +31,7 @@
public class ConsolePatternMatcher implements IDocumentListener {
- private MatchJob fMatchJob = new MatchJob();
+ private MatchJob fMatchJob;
/**
* Collection of compiled pattern match listeners
@@ -46,12 +46,14 @@
public ConsolePatternMatcher(TextConsole console) {
fConsole = console;
+ fMatchJob = new MatchJob();
}
private class MatchJob extends Job {
MatchJob() {
super("Match Job"); //$NON-NLS-1$
setSystem(true);
+ setRule(fConsole.getSchedulingRule());
}
/*
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
index 6f32def..b02fe4f 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
@@ -17,9 +17,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.IJobManager;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.DocumentEvent;
@@ -627,14 +625,6 @@
*/
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
- IJobManager jobManager = Job.getJobManager();
- try {
- jobManager.join(console, monitor);
- } catch (OperationCanceledException e1) {
- return Status.CANCEL_STATUS;
- } catch (InterruptedException e1) {
- return Status.CANCEL_STATUS;
- }
if (document == null) {
return Status.OK_STATUS;
}