<AWT Dev> [9] request for review: 8076455: IME Composition Window is displayed on incorrect position
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Thu Apr 23 17:32:06 UTC 2015
Hi, Andrew.
The fix looks find.
On 17.04.15 12:31, Andrew Brygin wrote:
> Hello,
>
> could you please review a fix for CR 8076455?
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8076455
> Webrev: http://cr.openjdk.java.net/~bae/8076455/9/webrev.00/
>
> The problem with position of IME candidate window is caused by
> incorrect calculation of relative coordinates which are supplied
> to ImmSetCandidateWindow() routine: even in the case of lightweight
> components we are translating the screen coordinates of desired
> position relatively to the frame location, whereas it has to be
> done relatively to upper left corner of the client area.
> As a result, we have got IME candidate window shifted to right
> and bottom.
>
> For a case when a lightweight component is inserted into a heavyweight
> container the result is even worse, because we are calculate the
> candidate window position relatively to the heavyweight container
> position, but process IME messages in a toplevel frame, what makes
> these relative coordinates completely wrong.
>
> Suggested solution is to use screen coordinates of a toplevel frame
> in order to get relative position of IME candidate window.
>
> A simplified test case that demonstrates the problem is attached to
> the bug record:
> https://bugs.openjdk.java.net/secure/attachment/27224/SimpleTest.java
>
> Here is no automated regression test, because it requires a system
> with configured IM.
>
> Please take a look.
>
> Thanks,
> Andrew.
--
Best regards, Sergey.
More information about the awt-dev
mailing list