diff --git a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/VcsLogClassicFilterUi.java b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/VcsLogClassicFilterUi.java index cc55c0c37029..672c14f98a48 100644 --- a/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/VcsLogClassicFilterUi.java +++ b/platform/vcs-log/impl/src/com/intellij/vcs/log/ui/filter/VcsLogClassicFilterUi.java @@ -267,6 +267,11 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi { myText = text; } + boolean hasUnsavedChanges() { + if (myText == null) return false; + return getFilter() == null || !myText.equals(getFilter().getText()); + } + @Override void setFilter(@Nullable VcsLogTextFilter filter) { super.setFilter(filter); @@ -464,7 +469,9 @@ public class VcsLogClassicFilterUi implements VcsLogFilterUi { @Override protected void onFocusLost() { - applyFilter(); + if (myTextFilterModel.hasUnsavedChanges()) { + applyFilter(); + } } } }