diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java index f9da77b3a5b9..2742423ab56c 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindDialog.java @@ -550,9 +550,14 @@ public class FindDialog extends DialogWrapper { } public void setModel(@NotNull FindModel model) { + String previousStringToFind = getStringToFind(); + String newStringToFind = model.getStringToFind(); myModel = model; updateReplaceVisibility(); updateTitle(); + if (!Comparing.equal(newStringToFind, previousStringToFind)) { + myInputComboBox.getEditor().setItem(newStringToFind); + } } private void validateFindButton() { diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java b/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java index 1d18dd214a57..1ed7cc910c43 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java @@ -172,7 +172,9 @@ public class FindManagerImpl extends FindManager { }; myFindDialog.setModal(true); } - else if (myFindDialog.getModel().isReplaceState() != model.isReplaceState()) { + else if (myFindDialog.getModel().isReplaceState() != model.isReplaceState() || + !Comparing.equal(myFindDialog.getModel().getStringToFind(), model.getStringToFind()) + ) { myFindDialog.setModel(model); myFindDialog.setOkHandler(handler); return;