diff --git a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java index 9635c7f631ba..ec7fe89d622a 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceParameter/IntroduceParameterHandler.java @@ -490,9 +490,16 @@ public class IntroduceParameterHandler extends IntroduceHandlerBase { createTypeSelectorManager(occurences, initializerType), methodToSearchFor, method, getParamsToRemove(method, occurences), mustBeFinal); dialog.setReplaceAllOccurrences(replaceAllOccurrences); dialog.setGenerateDelegate(delegate); - dialog.show(); - if (myEditor != null) { - myEditor.getSelectionModel().removeSelection(); + if (dialog.showAndGet()) { + final Runnable cleanSelectionRunnable = new Runnable() { + @Override + public void run() { + if (myEditor != null && !myEditor.isDisposed()) { + myEditor.getSelectionModel().removeSelection(); + } + } + }; + SwingUtilities.invokeLater(cleanSelectionRunnable); } } }