<AWT Dev> <AWT dev>[9] Review request for 8147842: IME Composition Window is displayed at incorrect location

Semyon Sadetsky semyon.sadetsky at oracle.com
Fri Apr 22 16:23:36 UTC 2016

On 4/22/2016 11:53 AM, Sergey Bylokhov wrote:
> On 22.04.16 9:53, Semyon Sadetsky wrote:
>> On 4/21/2016 10:48 PM, Sergey Bylokhov wrote:
>>> Hi, Semyon.
>>> The new code in the CallProxyDefWindowProc() became similar to the code
>>> in old jdk. In jdk5 and jdk6 the "::DefWindowProc()" was used, and
>>> it seems was replaced by "ComCtl32Util::GetInstance().DefWindowProc"
>>> later, can you please check why it was done.
>> It was changed in JDK-6359035 which tried to make the code to following
>> some MS recommendations. I still see no issues related to the line of
>> code you've mentioned.
> I do not think that we just follow some recommendation(and can freely 
> replace  "ComCtl32Util:: to ::DefWindowProc), for example take a look 
> to [1] JDK-6743433. If we change this code in this fix we should 
> provide some similar evaluation.
> [1] https://bugs.openjdk.java.net/browse/JDK-6743433
All necessary evaluation was provided in 8079595. Once again: 
ComCtl32Util:: cannot be used since it is not thread safe, SendMessage 
is thread safe but causes recursion.

>>>>> I did not remove the code back. Before JDK-8079595 the 
>>>>> DefSubclassProc
>>>>> function was called actually (see ComCtl32Util::DefWindowProc). This
>>>>> function is not threadsafe and that was the root cause of the
>>>>> JDK-8079595.

More information about the awt-dev mailing list