From 13fd10101aeffc315fd2fd7a663b27c1c4e1aae8 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 28 Aug 2014 16:15:30 +0400 Subject: [PATCH] restore indicator after progress interruption --- .../src/com/intellij/psi/RefResolveServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/RefResolveServiceImpl.java b/java/java-impl/src/com/intellij/psi/RefResolveServiceImpl.java index 79b9df9ec3a0..92c6b4349189 100644 --- a/java/java-impl/src/com/intellij/psi/RefResolveServiceImpl.java +++ b/java/java-impl/src/com/intellij/psi/RefResolveServiceImpl.java @@ -254,12 +254,11 @@ public class RefResolveServiceImpl extends RefResolveService implements Runnable HeavyProcessLatch.INSTANCE.addListener(this, new HeavyProcessLatch.HeavyProcessListener() { @Override public void processStarted() { - disable(); } @Override public void processFinished() { - enable(); + wakeUp(); } }); @@ -397,7 +396,7 @@ public class RefResolveServiceImpl extends RefResolveService implements Runnable synchronized (filesToResolve) { isEmpty = filesToResolve.isEmpty(); } - if (enableVetoes.get() > 0 || isEmpty || !resolveProcess.isDone()) { + if (enableVetoes.get() > 0 || isEmpty || !resolveProcess.isDone() || HeavyProcessLatch.INSTANCE.isRunning()) { try { waitForQueue(); } @@ -426,6 +425,7 @@ public class RefResolveServiceImpl extends RefResolveService implements Runnable } catch (RuntimeInterruptedException ignore) { // see future.cancel() in disable() + int i = 0; } } } @@ -574,8 +574,8 @@ public class RefResolveServiceImpl extends RefResolveService implements Runnable } private void disable() { - resolveIndicator.cancel(); - resolveProcess.cancel(true); + //resolveIndicator.cancel(); + //resolveProcess.cancel(true); enableVetoes.incrementAndGet(); wakeUp(); }