From 982585630cab7b571ffb5dd320ad0407716fcdbd Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 22 Mar 2016 17:52:24 +0100 Subject: [PATCH] make write action in ShowIntentionActionsHandler visible in the stack trace --- .../intention/impl/ShowIntentionActionsHandler.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java index 29bd53f53ef0..df681679cc3f 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/ShowIntentionActionsHandler.java @@ -32,7 +32,6 @@ import com.intellij.featureStatistics.FeatureUsageTracker; import com.intellij.featureStatistics.FeatureUsageTrackerImpl; import com.intellij.injected.editor.EditorWindow; import com.intellij.lang.injection.InjectedLanguageManager; -import com.intellij.openapi.application.AccessToken; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.diagnostic.Logger; @@ -184,8 +183,13 @@ public class ShowIntentionActionsHandler implements CodeInsightActionHandler { if (pair == null) return false; CommandProcessor.getInstance().executeCommand(project, () -> { - try (AccessToken ignored = action.startInWriteAction() ? WriteAction.start() : null) { - action.invoke(project, pair.second, pair.first); + Runnable r = () -> action.invoke(project, pair.second, pair.first); + try { + if (action.startInWriteAction()) { + WriteAction.runWriteAction(r::run); + } else { + r.run(); + } } catch (IncorrectOperationException e) { LOG.error(e);