Relates to KEYMAN-WINDOWS-B.
While this doesn't address the root cause of the exception, it should
prevent this unhandled exception, and adds breadcrumbs to help us see
which code path might be triggering the issue.
Fixes#7656.
If Keyman Developer is installed, but not Keyman for Windows, then
tsysinfo.exe is not present. If a crash occurs, this causes a secondary
crash when trying to display the error handler dialog. In this
situation, we now just show a dialog box with a short message rather
than the more friendly dialog available via tsysinfo.exe.
We could consider adding tsysinfo.exe into Keyman Developer for a future
release.
It appears that components within a docking form are unable to be
focused in some, rare contexts. We don't want to crash, and the end
result of not focusing is not really all that tragic, so let's just
mask the exception.
Fixes#7628.
Indy components do not treat URLs as UTF-8. Our legacy EncodeURL
function (sourced from Indy components) was the same. Discovered we
needed to fixup the parsing of URLs as well as the construction of them;
there may be other places we need to fix, although I did do a search for
the relevant types in TIKE source.
Fixes#2803.
The new basic project template will now include a default icon,
generated either from the first BCP 47 tag, or else from the first 3
letters of the filename of the keyboard.
The icon will not be included if the keyboard does not target desktop
platforms, as web/touch do not currently support the icon.
Fixes#7227.
We want to use keyman.com for now even for alpha builds, as
keyman-staging.com is going to be used for transition to Docker-based
hosting, and it will be problematic to try and share that process with
alpha builds.
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.
This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:
```
if [[ -v _builder_params[$e] ]]; then
```
Adds kmdecomp to kmcomp-<version>.zip and fixes a couple of stability
issues:
* Increase buffer sizes (this fix very much a hack)
* Ensures that .bmp/.ico files are saved to correct output folder
* Disable loading sentry.dll when running on WINE
Fixes the release build where we do `nmake symbols` for developer/src,
which was failing on calls to these two sets of components. (In
windows/src, the build structure is different due to an additional layer
of folders, so we end up with no `nmake symbols` call on the common
components).
Updated various places in Keyman Developer to show the full
VersionWithTag rather than the short version number we had been
previously showing:
- About dialog
- Welcome screen
- Installer
- kmcomp help
- kmconvert help
- kmanalyze help
- kmdecomp help
This should help when testing to verify that we are testing the right
version.
Also fixed the keymansentry path when running command line C++ programs
from source repo.