summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java')
-rw-r--r--platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
index f83dcfe4788f..93921cd6c1dc 100644
--- a/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
+++ b/platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java
@@ -431,8 +431,14 @@ public abstract class BaseRefactoringProcessor implements Runnable {
final Runnable prepareHelpersRunnable = new Runnable() {
@Override
public void run() {
- for (RefactoringHelper helper : Extensions.getExtensions(RefactoringHelper.EP_NAME)) {
- preparedData.put(helper, helper.prepareOperation(writableUsageInfos));
+ for (final RefactoringHelper helper : Extensions.getExtensions(RefactoringHelper.EP_NAME)) {
+ Object operation = ApplicationManager.getApplication().runReadAction(new Computable<Object>() {
+ @Override
+ public Object compute() {
+ return helper.prepareOperation(writableUsageInfos);
+ }
+ });
+ preparedData.put(helper, operation);
}
}
};