Index: javax/swing/plaf/basic/BasicInternalFrameUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicInternalFrameUI.java,v retrieving revision 1.17 diff -u -r1.17 BasicInternalFrameUI.java --- javax/swing/plaf/basic/BasicInternalFrameUI.java 15 Sep 2005 18:08:52 -0000 1.17 +++ javax/swing/plaf/basic/BasicInternalFrameUI.java 19 Sep 2005 17:19:34 -0000 @@ -846,20 +846,20 @@ { if (e instanceof MouseEvent) { - MouseEvent me = SwingUtilities.convertMouseEvent( - frame.getRootPane().getGlassPane(), - (MouseEvent) e, - frame.getRootPane().getGlassPane()); - + MouseEvent me = (MouseEvent) e; acquireComponentForMouseEvent(me); + //Avoid re-dispatching to ourselves and causing an infinite loop + if (mouseEventTarget.equals(frame.getGlassPane())) + return; + // Avoid dispatching ENTERED and EXITED events twice. if (mouseEventTarget != null && mouseEventTarget.isShowing() && e.getID() != MouseEvent.MOUSE_ENTERED && e.getID() != MouseEvent.MOUSE_EXITED) { MouseEvent newEvt = SwingUtilities.convertMouseEvent( - frame.getContentPane(), + frame.getGlassPane(), me, mouseEventTarget); mouseEventTarget.dispatchEvent(newEvt);