spiegel-keyman/windows/src/engine
Marc Durdin 3bb62d7f3e fix(windows): avoid error if keyman32.dll renamed
Fixes #4939.
Fixes KEYMAN-WINDOWS-70.
Fixes KEYMAN-WINDOWS-71.
Fixes KEYMAN-WINDOWS-BR.
Fixes KEYMAN-WINDOWS-6J.

I am speculating a little here, because the root cause is not visible in
the crash report, but it appears that if keyman32.dll is renamed, that
the UnregisterControllerWindows function attempts to reload keyman32.dll
which means that (a) it no longer has a list of registered controllers,
and (b) it may fail to reload.

Instead of throwing an exception, we now only log this error in
development mode. The error is not likely to cause significant trouble
for end users as they are shutting down Keyman anyway at this point.

The resolution if there is any uncertainty during an upgrade is to
restart Windows. This is less than ideal but avoids file locks and
problems with in-memory DLLs. (Future versions of Keyman will schedule
upgrades to happen automatically after a restart before Keyman has been
started, in an effort to avoid this kind of trauma.)
2021-04-21 14:25:37 +10:00
..
inst fix(windows): Trigger language sync after changes 2021-03-15 09:43:07 +11:00
keyman fix(windows): help contents broken from tray menu 2021-04-20 12:55:53 +10:00
keyman32 fix(windows): hotkeys correctly ignore right modifier keys 2021-03-09 16:02:14 +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): avoid error if keyman32.dll renamed 2021-04-21 14:25:37 +10:00
kmrefresh chore(windows): 17763 sdk version for kmrefresh 2021-03-15 10:42:21 +11:00
kmtip chore(windows): fully disable auto start task 2021-03-12 16:45:30 +11:00
mcompile fix(windows): incxstr could run over buffer with malformed data 2021-03-05 12:50:29 +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 fix(windows): Trigger language sync after changes 2021-03-15 09:43:07 +11:00
Makefile chore(windows): fixup engine makefile 2021-03-15 10:18:05 +11:00
version.in refactor(windows): Use 14.0-style versioning 2020-03-18 17:25:39 +11:00