spiegel-keyman/windows/src/engine
Marc Durdin e664e93de7 fix(windows): Improve refresh reliablilty
This change has three fixes to improve the reliability of notifying
Keyman Engine of updates to settings or keyboard installs:

1. It removes the closure pattern of the refresh thread, because that
   was closing on a variable on a different thread (`RefreshHandle`) and
   that could cause races and/or exceptions in the case of early free.
   What's more, the closure was actually unnecessary as the variable was
   really only used by the refresh thread!

2. It moves responsibility for setting the refresh token to the calling
   thread so that the caller can depend on the token being the one that
   is actually sent, removing a race.

3. Most important, the refresh thread now flushes all messages in its
   queue, as there may be multiple messages relating to the window
   construction that need to be processed before the wm_keyman_refresh
   message can be handled. This greatly improves the chance of the
   notification actually being sent!
2020-12-18 08:06:03 +11:00
..
inst fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
keyman fix(windows): Use timer-approach to refresh 2020-12-17 13:43:31 +11:00
keyman32 fix(windows): maintain use of refreshtag 2020-12-17 11:19:13 +11:00
keyman64 fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
keymanmc chore(windows): symbol server support, initial steps 2020-11-11 10:33:16 +11:00
keymanx64 fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
kmcomapi fix(windows): Improve refresh reliablilty 2020-12-18 08:06:03 +11:00
kmtip fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
mcompile fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
tsysinfo fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
tsysinfox64 fix(windows): Rename to Keyman 2020-12-02 09:56:14 +11:00
xml/osk Remove xml/touch dead code for Windows 2017-09-25 13:11:29 +07:00
.gitignore fix(windows): remove msctf free from DllMain 2020-10-28 16:17:52 +11:00
engine.groupproj chore(windows): cleanup group projects 2020-03-30 12:05:49 +11:00
engine.sln chore(windows): small cleanups 2020-10-28 10:27:24 +11:00
Makefile fix(windows): Start Keyman on Demand - keyman32 2020-10-28 06:10:22 +11:00
version.in refactor(windows): Use 14.0-style versioning 2020-03-18 17:25:39 +11:00