7043815: AWT-XAWT - AWT-EventQueue-0 deadlock

Reviewed-by: art, dcherepanov
This commit is contained in:
Sergey Bylokhov 2011-07-15 19:19:33 +04:00
parent d027ff2530
commit 787c2d3671

View File

@ -185,11 +185,8 @@ class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
*/ */
@Override @Override
public void pSetCursor(Cursor cursor, boolean ignoreSubComponents) { public void pSetCursor(Cursor cursor, boolean ignoreSubComponents) {
Point onScreen = getLocationOnScreen();
if (ignoreSubComponents || if (ignoreSubComponents ||
javaMouseEventHandler == null || javaMouseEventHandler == null) {
onScreen == null)
{
super.pSetCursor(cursor, true); super.pSetCursor(cursor, true);
return; return;
} }
@ -197,6 +194,7 @@ class XTextAreaPeer extends XComponentPeer implements TextAreaPeer {
Point cursorPos = new Point(); Point cursorPos = new Point();
((XGlobalCursorManager)XGlobalCursorManager.getCursorManager()).getCursorPos(cursorPos); ((XGlobalCursorManager)XGlobalCursorManager.getCursorManager()).getCursorPos(cursorPos);
final Point onScreen = getLocationOnScreen();
Point localPoint = new Point(cursorPos.x - onScreen.x, cursorPos.y - onScreen.y ); Point localPoint = new Point(cursorPos.x - onScreen.x, cursorPos.y - onScreen.y );
javaMouseEventHandler.setPointerToUnderPoint(localPoint); javaMouseEventHandler.setPointerToUnderPoint(localPoint);