From f04dbbdffeb0e302c9bfd63c5e8821f473e75fd1 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Mon, 21 Sep 2015 19:58:10 +0300 Subject: [PATCH] cancel automatic renamer should not cancel rename itself (IDEA-145351) --- .../com/intellij/refactoring/rename/RenameProcessor.java | 7 +++++-- .../refactoring/rename/inplace/VariableInplaceRenamer.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java index 9c295da30b04..06d812127d6f 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/RenameProcessor.java @@ -230,9 +230,12 @@ public class RenameProcessor extends BaseRefactoringProcessor { } private boolean findRenamedVariables(final List variableUsages) { - for (final AutomaticRenamer automaticVariableRenamer : myRenamers) { + for (Iterator iterator = myRenamers.iterator(); iterator.hasNext(); ) { + AutomaticRenamer automaticVariableRenamer = iterator.next(); if (!automaticVariableRenamer.hasAnythingToRename()) continue; - if (!showAutomaticRenamingDialog(automaticVariableRenamer)) return false; + if (!showAutomaticRenamingDialog(automaticVariableRenamer)) { + iterator.remove(); + } } final Runnable runnable = new Runnable() { diff --git a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java index 4ee59b57d2e1..2349a723232f 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java +++ b/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java @@ -241,7 +241,7 @@ public class VariableInplaceRenamer extends InplaceRefactoring { if (!ApplicationManager.getApplication().isUnitTestMode()) { final AutomaticRenamingDialog renamingDialog = new AutomaticRenamingDialog(myProject, renamer); if (!renamingDialog.showAndGet()) { - return; + continue; } }