diff --git a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java index 2a0a0ad62cb6..0fab1c658353 100644 --- a/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/project/DumbServiceImpl.java @@ -198,7 +198,9 @@ public class DumbServiceImpl extends DumbService { private void updateFinished() { myDumb = false; - myPublisher.exitDumbMode(); + if (!myProject.isDisposed()) { + myPublisher.exitDumbMode(); + } while (true) { final Runnable runnable; synchronized (myRunWhenSmartQueue) { @@ -207,10 +209,9 @@ public class DumbServiceImpl extends DumbService { } runnable = myRunWhenSmartQueue.pullFirst(); } - if (myProject.isDisposed()) { - return; + if (!myProject.isDisposed()) { + runnable.run(); } - runnable.run(); } }