<AWT Dev>  request for review: 8076455: IME Composition Window is displayed on incorrect position
alexander.zvegintsev at oracle.com
Thu Apr 23 18:48:57 UTC 2015
the fix looks good to me too.
On 23.04.2015 20:32, Sergey Bylokhov wrote:
> Hi, Andrew.
> The fix looks find.
> On 17.04.15 12:31, Andrew Brygin wrote:
>> 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:
>> Here is no automated regression test, because it requires a system
>> with configured IM.
>> Please take a look.
More information about the awt-dev