| Index: editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/omni/OmniBoxControlContribution.java
|
| diff --git a/editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/omni/OmniBoxControlContribution.java b/editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/omni/OmniBoxControlContribution.java
|
| index d39decac673716f1648d4876b7defe275e04468e..673f2e513287291b4e9ed84eda0f017d4b5bdf09 100644
|
| --- a/editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/omni/OmniBoxControlContribution.java
|
| +++ b/editor/tools/plugins/com.google.dart.tools.deploy/src/com/google/dart/tools/ui/omni/OmniBoxControlContribution.java
|
| @@ -29,6 +29,8 @@ import org.eclipse.swt.events.ModifyListener;
|
| import org.eclipse.swt.events.MouseAdapter;
|
| import org.eclipse.swt.events.MouseEvent;
|
| import org.eclipse.swt.events.MouseTrackAdapter;
|
| +import org.eclipse.swt.events.ShellAdapter;
|
| +import org.eclipse.swt.events.ShellEvent;
|
| import org.eclipse.swt.graphics.Point;
|
| import org.eclipse.swt.widgets.Composite;
|
| import org.eclipse.swt.widgets.Control;
|
| @@ -424,6 +426,20 @@ public class OmniBoxControlContribution {
|
| handleFocusLost();
|
| }
|
| });
|
| +
|
| + // close popup when Editor lost focus
|
| + textControl.getShell().addShellListener(new ShellAdapter() {
|
| + @Override
|
| + public void shellDeactivated(ShellEvent e) {
|
| + Shell activeShell = Display.getCurrent().getActiveShell();
|
| + if (activeShell == null) {
|
| + if (popup != null) {
|
| + popup.close();
|
| + popup = null;
|
| + }
|
| + }
|
| + }
|
| + });
|
| }
|
|
|
| private void openPopup() {
|
|
|