diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcModuleStructureSynchronizer.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcModuleStructureSynchronizer.java index c6437234b661..800c22358742 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcModuleStructureSynchronizer.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/mvc/MvcModuleStructureSynchronizer.java @@ -276,22 +276,18 @@ public class MvcModuleStructureSynchronizer extends AbstractProjectComponent { @Nullable @Override - public Continuation performInReadAction(@NotNull ProgressIndicator indicator) throws ProcessCanceledException { - if (!isUpToDate()) { - scheduleRunActions(); - return null; - } - - final Set> actions = computeRawActions(orderSnapshot); + public Continuation performInReadAction(@NotNull final ProgressIndicator indicator) throws ProcessCanceledException { + final Set> actions = isUpToDate() ? computeRawActions(orderSnapshot) + : Collections.>emptySet(); return new Continuation(new Runnable() { @Override public void run() { - if (!isUpToDate()) { - scheduleRunActions(); - } - else { + if (isUpToDate()) { runActions(actions); } + else if (!indicator.isCanceled()) { + scheduleRunActions(); + } } }, ModalityState.NON_MODAL); }