diff --git a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java index a33a79953f32..9ddcd39a661f 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/completion/CompletionProgressIndicator.java @@ -356,7 +356,7 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement } justShown = true; } - myLookup.refreshUi(true, false); + myLookup.refreshUi(true, justShown); hideAutopopupIfMeaningless(); if (justShown) { myLookup.ensureSelectionVisible(); diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java index ec9c7650f6f5..b94259b707a8 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java @@ -472,6 +472,9 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable updateListHeight(listModel); myList.setSelectedIndex(toSelect); + if (onExplicitAction && myShown) { + myList.ensureIndexIsVisible(toSelect); + } return !oldModel.equals(items); } @@ -1301,8 +1304,10 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable public void run() { if (!myDisposed) { myAdComponent.addAdvertisement(text); - requestResize(); - refreshUi(false, false); + if (myShown) { + requestResize(); + refreshUi(false, false); + } } } });