7147055: [macosx] Cursors are changing over a blocked window; also blinking

Reviewed-by: art, kizune
This commit is contained in:
Sergey Bylokhov 2012-05-04 21:25:08 +04:00
parent b963b0bcc4
commit bf549e93b9

View file

@ -88,20 +88,20 @@ public abstract class LWCursorManager {
} else { } else {
cursor = (c != null) ? c.getCursor() : null; cursor = (c != null) ? c.getCursor() : null;
} }
// TODO: default cursor for modal blocked windows
setCursor(cursor); setCursor(cursor);
} }
/** /**
* Returns the first visible, enabled and showing component under cursor. * Returns the first visible, enabled and showing component under cursor.
* Returns null for modal blocked windows.
* *
* @param cursorPos Current cursor position. * @param cursorPos Current cursor position.
* @return Component * @return Component or null.
*/ */
private static final Component findComponent(final Point cursorPos) { private static final Component findComponent(final Point cursorPos) {
final LWComponentPeer<?, ?> peer = LWWindowPeer.getPeerUnderCursor(); final LWComponentPeer<?, ?> peer = LWWindowPeer.getPeerUnderCursor();
Component c = null; Component c = null;
if (peer != null) { if (peer != null && peer.getWindowPeerOrSelf().getBlocker() == null) {
c = peer.getTarget(); c = peer.getTarget();
if (c instanceof Container) { if (c instanceof Container) {
final Point p = peer.getLocationOnScreen(); final Point p = peer.getLocationOnScreen();