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.

--Semyon

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.



Reply via email to