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 7e092258cae8..e0e6126ac5c4 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 @@ -73,6 +73,8 @@ import com.intellij.util.containers.ContainerUtil; import com.intellij.util.ui.AbstractLayoutManager; import com.intellij.util.ui.AsyncProcessIcon; import com.intellij.util.ui.ButtonlessScrollBarUI; +import com.intellij.util.ui.update.Activatable; +import com.intellij.util.ui.update.UiNotifyConnector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.TestOnly; @@ -85,8 +87,10 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import java.awt.*; import java.awt.event.*; -import java.util.*; +import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; public class LookupImpl extends LightweightHint implements LookupEx, Disposable { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.lookup.impl.LookupImpl"); @@ -872,6 +876,17 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable } }); + Disposer.register(this, new UiNotifyConnector(myEditor.getContentComponent(), new Activatable() { + @Override + public void showNotify() { + } + + @Override + public void hideNotify() { + hideLookup(false); + } + })); + myList.addListSelectionListener(new ListSelectionListener() { private LookupElement oldItem = null; diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java index 511f6ee5f9a8..7e1e3eeaf7b7 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupManagerImpl.java @@ -41,8 +41,6 @@ import com.intellij.psi.PsiFile; import com.intellij.ui.LightweightHint; import com.intellij.util.Alarm; import com.intellij.util.messages.MessageBus; -import com.intellij.util.ui.update.Activatable; -import com.intellij.util.ui.update.UiNotifyConnector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.TestOnly; @@ -138,17 +136,6 @@ public class LookupManagerImpl extends LookupManager { final LookupImpl lookup = new LookupImpl(myProject, editor, arranger); DaemonCodeAnalyzer.getInstance(myProject).disableUpdateByTimer(lookup); - final UiNotifyConnector connector = new UiNotifyConnector(editor.getContentComponent(), new Activatable() { - @Override - public void showNotify() { - } - - @Override - public void hideNotify() { - hideActiveLookup(); - } - }); - final Alarm alarm = new Alarm(); final Runnable request = new Runnable() { @Override @@ -204,8 +191,6 @@ public class LookupManagerImpl extends LookupManager { myActiveLookupEditor = null; lookup.removeLookupListener(this); myPropertyChangeSupport.firePropertyChange(PROP_ACTIVE_LOOKUP, lookup, null); - - Disposer.dispose(connector); } });