From 275a6decbb1a07c55c29747e145ecc69d7c436ce Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Mon, 16 Apr 2012 12:55:06 +0200 Subject: [PATCH] another fix for IDEA-81337 breakpoint viewer condition field combo dropdown does not close --- .../src/com/intellij/openapi/ui/ComboBox.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java b/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java index 0f655992bc4b..8ca24bc16c44 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/ComboBox.java @@ -99,18 +99,21 @@ public class ComboBox extends ComboBoxWithWidePopup implements AWTEventListener if (value != null) { configureEditor(getEditor(), value); IdeFocusManager.getGlobalInstance().requestFocus(ComboBox.this, true); + assert myJBPopup != null; + ComboBox.this.getUI().setPopupVisible(ComboBox.this, false); + myJBPopup.cancel(); } } }) + .setFocusOwners(new Component[]{this}) .setMinSize(new Dimension(getWidth(), -1)) - .setMovable(false) - .setResizable(false) .createPopup(); list.setBorder(IdeBorderFactory.createEmptyBorder(0)); myJBPopup.showUnderneathOf(this); list.addFocusListener(new FocusAdapter() { @Override public void focusLost(FocusEvent e) { + ComboBox.this.getUI().setPopupVisible(ComboBox.this, false); myJBPopup.cancel(); } }); @@ -167,8 +170,10 @@ public class ComboBox extends ComboBoxWithWidePopup implements AWTEventListener public void removeNotify() { super.removeNotify(); Toolkit.getDefaultToolkit().removeAWTEventListener(this); - if (myJBPopup != null && myJBPopup.isVisible()) { + if (myJBPopup != null) { + getUI().setPopupVisible(this, false); myJBPopup.cancel(); + } }