Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java17
1 files changed, 10 insertions, 7 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java
index 2a1cf02051..7d88695bc7 100644
--- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java
+++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DirtyRegionProcessor.java
@@ -529,6 +529,9 @@ public class DirtyRegionProcessor implements IReconciler, IReconcilerExtension,
*/
private synchronized DirtyRegion[] getRequests() {
synchronized (fDirtyRegionQueue) {
+ if (0 == fDirtyRegionQueue.size()) {
+ return null;
+ }
DirtyRegion[] toRefresh = (DirtyRegion[]) fDirtyRegionQueue.toArray(new DirtyRegion[fDirtyRegionQueue.size()]);
flushDirtyRegionQueue();
return toRefresh;
@@ -686,15 +689,15 @@ public class DirtyRegionProcessor implements IReconciler, IReconcilerExtension,
boolean processed = false;
try {
DirtyRegion[] toRefresh = getRequests();
- if (toRefresh.length > 0) {
+ if (toRefresh != null && toRefresh.length > 0) {
processed = true;
beginProcessing();
- }
-
- for (int i = 0; i < toRefresh.length && fDocument != null; i++) {
- if (fIsCanceled)
- return;
- process(toRefresh[i]);
+
+ for (int i = 0; i < toRefresh.length && fDocument != null; i++) {
+ if (fIsCanceled)
+ return;
+ process(toRefresh[i]);
+ }
}
}
finally {

Back to the top