@Override protected void processKeyEvent(@NotNull final KeyEvent e) { final char keyChar = e.getKeyChar(); if (keyChar == KeyEvent.VK_ENTER || keyChar == KeyEvent.VK_TAB) { IdeFocusManager.getInstance(myProject) .requestFocus(myEditor.getContentComponent(), true) .doWhenDone( new Runnable() { @Override public void run() { IdeEventQueue.getInstance().getKeyEventDispatcher().dispatchKeyEvent(e); } }); return; } super.processKeyEvent(e); }
private void doHide(final boolean fireCanceled, final boolean explicitly) { if (myDisposed) { LOG.error(disposeTrace); } else { myHidden = true; try { super.hide(); Disposer.dispose(this); assert myDisposed; } catch (Throwable e) { LOG.error(e); } } if (fireCanceled) { fireLookupCanceled(explicitly); } }