diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java | 4 | ||||
-rw-r--r-- | src/macosx/classes/sun/lwawt/LWChoicePeer.java | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java b/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java index 0607f9c36..b393338d0 100644 --- a/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java +++ b/src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java @@ -120,6 +120,10 @@ class AquaComboBoxPopup extends BasicComboPopup { public void show() { final int startItemCount = comboBox.getItemCount(); + if (startItemCount == 0) { + return; + } + final Rectangle popupBounds = adjustPopupAndGetBounds(); if (popupBounds == null) return; // null means don't show diff --git a/src/macosx/classes/sun/lwawt/LWChoicePeer.java b/src/macosx/classes/sun/lwawt/LWChoicePeer.java index bb360d6d6..27d43b1bf 100644 --- a/src/macosx/classes/sun/lwawt/LWChoicePeer.java +++ b/src/macosx/classes/sun/lwawt/LWChoicePeer.java @@ -171,7 +171,9 @@ final class LWChoicePeer extends LWComponentPeer<Choice, JComboBox<String>> SwingUtilities.invokeLater(() -> { JPopupMenu popupMenu = getPopupMenu(); // Need to override the invoker for proper grab handling - if (popupMenu != null && popupMenu.getInvoker() != getTarget()) { + if (popupMenu != null + && popupMenu.isShowing() + && popupMenu.getInvoker() != getTarget()) { // The popup is now visible with correct location // Save it and restore after toggling visibility and changing invoker Point loc = popupMenu.getLocationOnScreen(); |