From da18fc6bf56c27d47f495afe08159aafcb2ac7e3 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 4 May 2016 09:08:39 +0200 Subject: [PATCH] perform interactive text replace inside a transaction --- .../find/replaceInProject/ReplaceInProjectManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java b/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java index 73ab3bbcd0f7..5faf9a315137 100644 --- a/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java +++ b/platform/lang-impl/src/com/intellij/find/replaceInProject/ReplaceInProjectManager.java @@ -28,6 +28,7 @@ import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.KeyboardShortcut; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.TransactionGuard; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.Document; @@ -219,7 +220,7 @@ public class ReplaceInProjectManager { @Override public void findingUsagesFinished(final UsageView usageView) { if (context[0] != null && findManager.getFindInProjectModel().isPromptOnReplace()) { - SwingUtilities.invokeLater(new Runnable() { + TransactionGuard.submitTransaction(myProject, new Runnable() { @Override public void run() { replaceWithPrompt(context[0]);