diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/refactoring/BaseRefactoringProcessor.java | 10 |
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); } } }; |