From ed1881bfd7e31ed7e7e9b9c6d76dfd0c0ed07578 Mon Sep 17 00:00:00 2001 From: Snjezana Peco Date: Fri, 4 Jan 2013 21:41:51 +0100 Subject: Bug 397475 --- .../sse/ui/internal/reconcile/DirtyRegionProcessor.java | 17 ++++++++++------- 1 file 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 d361d517f9..7eb51ffda8 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 @@ -521,6 +521,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; @@ -678,15 +681,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 { -- cgit v1.2.3