aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/javax/swing/MenuSelectionManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/javax/swing/MenuSelectionManager.java')
-rw-r--r--libjava/classpath/javax/swing/MenuSelectionManager.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/classpath/javax/swing/MenuSelectionManager.java b/libjava/classpath/javax/swing/MenuSelectionManager.java
index 32d56b958a1..4e52751065a 100644
--- a/libjava/classpath/javax/swing/MenuSelectionManager.java
+++ b/libjava/classpath/javax/swing/MenuSelectionManager.java
@@ -146,7 +146,9 @@ public class MenuSelectionManager
{
// Convert sourcePoint to screen coordinates.
Point sourcePointOnScreen = sourcePoint;
- SwingUtilities.convertPointToScreen(sourcePointOnScreen, source);
+
+ if (source.isShowing())
+ SwingUtilities.convertPointToScreen(sourcePointOnScreen, source);
Point compPointOnScreen;
Component resultComp = null;
@@ -168,7 +170,10 @@ public class MenuSelectionManager
&& sourcePointOnScreen.y < compPointOnScreen.y + size.height)
{
Point p = sourcePointOnScreen;
- SwingUtilities.convertPointFromScreen(p, comp);
+
+ if (comp.isShowing())
+ SwingUtilities.convertPointFromScreen(p, comp);
+
resultComp = SwingUtilities.getDeepestComponentAt(comp, p.x, p.y);
break;
}