silence InterruptedException when closing project during indexing (IDEA-140662)

This commit is contained in:
peter
2015-05-28 14:35:30 +02:00
parent b4800e3a31
commit dfef5a13be
@@ -414,7 +414,7 @@ public class DumbServiceImpl extends DumbService implements Disposable, Modifica
@Nullable private Pair<DumbModeTask, ProgressIndicatorEx> getNextTask(@Nullable final DumbModeTask prevTask) {
final Ref<Pair<DumbModeTask, ProgressIndicatorEx>> result = Ref.create();
UIUtil.invokeAndWaitIfNeeded(new Runnable() {
invokeAndWaitIfNeeded(new Runnable() {
@Override
public void run() {
if (myProject.isDisposed()) return;
@@ -443,6 +443,22 @@ public class DumbServiceImpl extends DumbService implements Disposable, Modifica
return result.get();
}
private static void invokeAndWaitIfNeeded(Runnable runnable) {
if (SwingUtilities.isEventDispatchThread()) {
runnable.run();
}
else {
try {
SwingUtilities.invokeAndWait(runnable);
}
catch (InterruptedException ignore) {
}
catch (Exception e) {
LOG.error(e);
}
}
}
@Override
public long getModificationCount() {
return myModificationCount;