diff --git a/src/windows/classes/sun/awt/windows/WInputMethod.java b/src/windows/classes/sun/awt/windows/WInputMethod.java index 33be7f8b4bec8e4a183576f501571c42bf79b30b..6cec225db9721633e27f735d5ad1383cad648cf2 100644 --- a/src/windows/classes/sun/awt/windows/WInputMethod.java +++ b/src/windows/classes/sun/awt/windows/WInputMethod.java @@ -548,11 +548,15 @@ public class WInputMethod extends InputMethodAdapter public void inquireCandidatePosition() { + Component source = getClientComponent(); + if (source == null) { + return; + } // This call should return immediately just to cause // InputMethodRequests.getTextLocation be called within // AWT Event thread. Otherwise, a potential deadlock // could happen. - java.awt.EventQueue.invokeLater(new Runnable() { + Runnable r = new Runnable() { public void run() { int x = 0; int y = 0; @@ -573,7 +577,9 @@ public class WInputMethod extends InputMethodAdapter openCandidateWindow(awtFocussedComponentPeer, x, y); } - }); + }; + WToolkit.postEvent(WToolkit.targetToAppContext(source), + new InvocationEvent(source, r)); } // java.awt.Toolkit#getNativeContainer() is not available