On Sun, 11 Oct 2020 19:58:20 GMT, Daniel Kamil Kozar 
<github.com+127875+xav...@openjdk.org> wrote:

> This change replaces the usage of SetClipboardViewer with 
> Add/RemoveClipboardFormatListener, introduced in Windows Vista. This makes 
> OpenJDK immune to external applications failing to process clipboard messages 
> properly.
> I have put this proposal forward in the [mailing 
> list](https://mail.openjdk.java.net/pipermail/awt-dev/2020-July/015990.html), 
> which was tentatively accepted by Mr. Sergey Bylokhov.
> 
> The deficiencies of the old APIs are well known and might result in some 
> subscribed applications not receiving notifications from the operating 
> system, as they rely on all the applications in the current clipboard chain 
> processing clipboard messages properly. Porting the code to use the new APIs 
> not only makes OpenJDK immune to these issues, but also results in slightly 
> less code needed to support clipboard-related functionality.
> 
> As this is a change that's very platform-specific, I don't think providing a 
> unit test is practical, as it would also require providing a native 
> application that runs alongside the test and deliberately breaks the keyboard 
> chain, resulting in OpenJDK not being able to receive clipboard format change 
> notifications. This is a bug/limitation of the old Windows API, not OpenJDK 
> itself. Anyhow, the already existing ClipboardInterVMTest passes, which shows 
> that already existing functionality is not impacted by this change.
> 
> I have prepared a proof-of-concept test which illustrates the deficiencies of 
> the old API, however it is not integrated with the test suite, as it requires 
> compiling a native WinAPI application. I will gladly share the source if 
> needed.

Please update the second date in the header of the changed files to 2020.

-------------

Changes requested by serb (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/594

Reply via email to