<AWT Dev> RFR: 8261231: Windows IME was disabled after DnD operation

Dmitry Markov dmarkov at openjdk.java.net
Sun Feb 7 08:34:53 UTC 2021


The function InvokeInputMethodFunction() is responsible for invocation of IME API. Typically it uses PostMessage() to execute corresponding IME function on the toolkit thread but if DnD operation takes place SendMessage() is used. The state of m_inputMethodWaitEvent event object remains signalled after SendMessage() execution. That causes failure of subsequent IME functions calls via PostMessage().

Fix:
SendMessage() and PostMessage() calls inside InvokeInputMethodFunction() should be synchronised. The state of m_inputMethodWaitEvent event object must be reseted right after SendMessage() execution.

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

Commit messages:
 - 8261231: Windows IME was disabled after DnD operation

Changes: https://git.openjdk.java.net/jdk/pull/2448/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=2448&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8261231
  Stats: 5 lines in 1 file changed: 3 ins; 1 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2448.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2448/head:pull/2448

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


More information about the awt-dev mailing list