diff --git a/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java b/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java index bfb962865369..f82e36b483c3 100644 --- a/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java +++ b/platform/platform-api/src/com/intellij/openapi/ui/popup/PopupChooserBuilder.java @@ -203,8 +203,8 @@ public class PopupChooserBuilder { (list != null ? list : myChooserComponent).addMouseListener(new MouseAdapter() { @Override - public void mousePressed(MouseEvent e) { - if (UIUtil.isActionClick(e) && !UIUtil.isSelectionButtonDown(e) && !e.isConsumed()) { + public void mouseReleased(MouseEvent e) { + if (UIUtil.isActionClick(e, MouseEvent.MOUSE_RELEASED) && !UIUtil.isSelectionButtonDown(e) && !e.isConsumed()) { closePopup(true, e, true); } } diff --git a/platform/platform-impl/src/com/intellij/ui/popup/list/ListPopupImpl.java b/platform/platform-impl/src/com/intellij/ui/popup/list/ListPopupImpl.java index dcbe7f23d7c6..64213cc37d00 100644 --- a/platform/platform-impl/src/com/intellij/ui/popup/list/ListPopupImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/popup/list/ListPopupImpl.java @@ -379,7 +379,7 @@ public class ListPopupImpl extends WizardPopup implements ListPopup { } protected boolean isActionClick(MouseEvent e) { - return UIUtil.isActionClick(e, MouseEvent.MOUSE_PRESSED, true); + return UIUtil.isActionClick(e, MouseEvent.MOUSE_RELEASED, true); } public Object getSelectedValue() { @@ -389,7 +389,7 @@ public class ListPopupImpl extends WizardPopup implements ListPopup { private class MyMouseListener extends MouseAdapter { @Override - public void mousePressed(MouseEvent e) { + public void mouseReleased(MouseEvent e) { if (!isActionClick(e)) return; IdeEventQueue.getInstance().blockNextEvents(e); // sometimes, after popup close, MOUSE_RELEASE event delivers to other components final Object selectedValue = myList.getSelectedValue();