From 3bdaee047e70e360e7fe85893cf670f8e87de58a Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 8 Sep 2015 17:28:41 +0200 Subject: [PATCH] allow bg dumb mode from 'Mark directory as * root' actions (EA-71874 - Throwable: DumbServiceImpl.scheduleCacheUpdate) --- .../ide/projectView/actions/MarkRootActionBase.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java b/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java index ac2326da6dac..79553d1d331f 100644 --- a/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java +++ b/platform/lang-impl/src/com/intellij/ide/projectView/actions/MarkRootActionBase.java @@ -22,6 +22,8 @@ import com.intellij.openapi.actionSystem.LangDataKeys; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.DumbAwareAction; +import com.intellij.openapi.project.DumbModePermission; +import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.*; import com.intellij.openapi.roots.impl.DirectoryIndex; @@ -60,11 +62,16 @@ public abstract class MarkRootActionBase extends DumbAwareAction { modifyRoots(file, entry); } } - ApplicationManager.getApplication().runWriteAction(new Runnable() { + DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_BACKGROUND, new Runnable() { @Override public void run() { - model.commit(); - module.getProject().save(); + ApplicationManager.getApplication().runWriteAction(new Runnable() { + @Override + public void run() { + model.commit(); + module.getProject().save(); + } + }); } }); }