aboutsummaryrefslogtreecommitdiff
path: root/src/macosx/classes
diff options
context:
space:
mode:
Diffstat (limited to 'src/macosx/classes')
-rw-r--r--src/macosx/classes/com/apple/laf/AquaComboBoxPopup.java4
-rw-r--r--src/macosx/classes/sun/lwawt/LWChoicePeer.java4
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();