Commit graph

9 commits

Author SHA1 Message Date
Marc Durdin
e86704b702 fix(windows): crash when installing TIP in some rare situations
May fix #4889.

In some situations, Keyman is unable to precisely match the user's
default language with its own keyboard settings. In this situation,
Keyman may crash when attempting to install the TIP, or may give a
spurious error such as "Too many transient languages" or similar.

I have been unable to reproduce the crash described in #4889 on my
machines so this is an attempted fix.

This does fix a bug with default languages in any case so is a good fix
to include: if the user's default language is not found in Keyman's LCID
table, then Keyman would fail to install the TIP when the keyboard is
installed and would return an error message (but not crash).
2021-04-19 10:39:49 +10:00
Marc Durdin
d8fcdb5398 chore(windows): additional files 2020-12-17 11:16:26 +11:00
Marc Durdin
246cb70840 fix(windows): Warn if we reach maximum transient languages
Fixes #3749.
Fixes #3759.

Adds a warning dialog when user attempts to add a transient language to
a keyboard but the maximum number of transient languages is already
installed.

If this issue arises when a user is installing a keyboard for the first
time, Keyman instead installs the keyboard for the user's default
language. This may be a little confusing, but the error condition is
difficult to explain and non-technical users will probably be stuck
and need to install under their default language in any case. Happy to
receive any pushback on this decision.
2020-12-16 09:09:19 +11:00
Marc Durdin
43415e1a4f fix(windows): bootstrap package install specified language bugs
If the user does not specify a language in the bootstrap install,
then the package would be installed without any language selection.

Also, the elevated portion was doing a register and install instead
of just register.
2020-09-24 07:26:45 +10:00
Marc Durdin
014fe72dce chore: remove old comments 2020-09-04 13:23:48 +10:00
Marc Durdin
84f0219541 fix(windows): canonicalization
Reworks the BCP 47 tag canonicalization algorithm.
2020-09-01 08:42:56 +10:00
Marc Durdin
6cf3368ada feat(windows): select language at keyboard install
For packages with a single keyboard, we now make it
possible to select a language at install time.

Fixes #1456.
2020-08-27 13:59:11 +10:00
Marc Durdin
0ad1789dad feat(windows): split language registration on app install
This splits the registration and installation of TIPs according to the
elevation context during the installation process, so that the current
user gets the correct configuration, regardless of who the elevated user
is.
2020-08-27 10:38:04 +10:00
Marc Durdin
5f2dbf4b82 feat(windows): profile installation - desktop 2020-08-26 14:42:02 +10:00