#67873
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/SpellReconcileStrategy.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/SpellReconcileStrategy.java
index 474de6f..ccc3281 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/SpellReconcileStrategy.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/spelling/SpellReconcileStrategy.java
@@ -228,24 +228,28 @@
}
}
- /** The document to operate on */
+ /** The document to operate on. */
private IDocument fDocument= null;
- /** The text editor to operate on */
+ /** The text editor to operate on. */
private final ITextEditor fEditor;
- /** The current locale */
+ /** The current locale. */
private Locale fLocale= SpellCheckEngine.getDefaultLocale();
- /** The partitioning of the document */
+ /** The partitioning of the document. */
private final String fPartitioning;
- /** The preference store to use */
+ /** The preference store to use. */
private final IPreferenceStore fPreferences;
- /** The problem requestor */
+ /** The problem requestor. */
private IProblemRequestor fRequestor;
+ /** The progress monitor. */
+ private IProgressMonitor fProgressMonitor;
+
+
/**
* Creates a new comment reconcile strategy.
*
@@ -309,19 +313,24 @@
* @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#initialReconcile()
*/
public void initialReconcile() {
+ reconcile();
}
/*
* @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.reconciler.DirtyRegion,org.eclipse.jface.text.IRegion)
*/
- public void reconcile(final DirtyRegion dirtyRegion, final IRegion subRegion) {
- reconcile(subRegion);
+ public void reconcile(DirtyRegion dirtyRegion, IRegion subRegion) {
+ reconcile();
}
/*
* @see org.eclipse.jface.text.reconciler.IReconcilingStrategy#reconcile(org.eclipse.jface.text.IRegion)
*/
- public void reconcile(final IRegion region) {
+ public void reconcile(IRegion region) {
+ reconcile();
+ }
+
+ private void reconcile() {
if (fPreferences.getBoolean(ISpellCheckPreferenceKeys.SPELLING_CHECK_SPELLING) && fRequestor != null) {
@@ -341,6 +350,9 @@
checker.addListener(this);
for (int index= 0; index < partitions.length; index++) {
+ if (fProgressMonitor != null && fProgressMonitor.isCanceled())
+ return;
+
partition= partitions[index];
if (!partition.getType().equals(IDocument.DEFAULT_CONTENT_TYPE))
checker.execute(new SpellCheckIterator(fDocument, partition, locale));
@@ -371,7 +383,7 @@
* @see org.eclipse.jface.text.reconciler.IReconcilingStrategyExtension#setProgressMonitor(org.eclipse.core.runtime.IProgressMonitor)
*/
public final void setProgressMonitor(final IProgressMonitor monitor) {
- // Do nothing
+ fProgressMonitor= monitor;
}
/**