src/macosx/classes/sun/lwawt/LWMouseInfoPeer.java

Print this page

        

@@ -49,11 +49,14 @@
     public boolean isWindowUnderMouse(Window w) {
         if (w == null) {
             return false;
         }
 
-        final Object windowPeer = AWTAccessor.getComponentAccessor().getPeer(w);
-        return LWWindowPeer.getWindowUnderCursor() == windowPeer;
+        LWWindowPeer windowPeer = (LWWindowPeer)AWTAccessor.getComponentAccessor().getPeer(w);
+        // Most likely the cached window under cursor is correct and we do not need the native check.
+        // Also native check does not work for applets
+        return windowPeer == LWWindowPeer.getWindowUnderCursor() ||
+                LWToolkit.getLWToolkit().getPlatformWindowUnderMouse() == windowPeer.getPlatformWindow();
     }
 
 }