Commit graph

3302 commits

Author SHA1 Message Date
Marc Durdin
facf94df26 chore: address review comments 2020-10-08 13:59:16 +11:00
Marc Durdin
80db548432 chore: address review comments 2020-10-08 13:35:33 +11:00
Marc Durdin
4e18f9a531 chore: address review comments 2020-10-08 13:34:37 +11:00
Marc Durdin
cb579bd1d1 chore(windows): update RELEASE tags as well 2020-10-08 09:23:54 +11:00
Marc Durdin
c655c4eaf5 fix(windows): improve version numbers
Release build executables should have 3 component version numbers with
the version tag appended, e.g. keymandesktop-14.0.155-alpha-local.exe.

Coming later, rename keymandesktop-version.exe to keyman-version.exe.
2020-10-08 09:13:48 +11:00
Marc Durdin
e3a6805c6f
Merge pull request #3671 from keymanapp/fix/windows/ci-upload-help
fix(windows): update CI for publishing desktop help
2020-10-08 06:21:18 +11:00
Marc Durdin
ccdf820a5d
Merge pull request #3670 from keymanapp/fix/developer/ci-use-repo-tier-and-version
fix(developer): ci uses repo tier and version
2020-10-08 06:21:08 +11:00
Marc Durdin
f3d5fcbb28
Merge pull request #3668 from keymanapp/fix/windows/cherry-pick/3665-metro-apps-compat
fix(windows): Some registry keys could have incorrect permissions 🍒
2020-10-08 06:20:59 +11:00
Marc Durdin
7f4a4b5c87 fix(windows): update CI for publishing desktop help
This updates the build script to use the version data available in the
repository rather than relying on environment.
2020-10-07 16:06:22 +11:00
Marc Durdin
3319f5d29d fix: call to build.sh now has invalid variables 2020-10-07 14:34:35 +11:00
Marc Durdin
258e4b4eff fix(windows): Some registry keys could have incorrect permissions
Fixes #3665.

On some systems, subkeys of HKCU\Software\Keyman could have incorrect
permissions and these would not be corrected with earlier fixes such as
in #2316. This fix resolves the problem by recursively correcting
permissions on all subkeys, rather than just the top two levels.

This issue caused Metro-style applications (Windows Store apps) to fail
to accept Keyman keyboard input.
2020-10-07 11:50:37 +11:00
Marc Durdin
53a197fba5 chore(windows): Move to Windows SDK 10.0.17763.0
This removes the requirement for the Windows 8.1 SDK.
2020-10-05 14:11:34 +11:00
Marc Durdin
0275f13e6c
Merge pull request #3649 from keymanapp/fix/engine/coverity-keyman32
fix(windows): coverity reports for keyman32
2020-10-05 13:47:08 +11:00
Marc Durdin
1d4307b2e9
Merge pull request #3642 from keymanapp/fix/engine/coverity-kmtip
fix(windows): coverity reports for kmtip
2020-10-05 13:46:59 +11:00
Marc Durdin
c83eb6f727
Merge pull request #3641 from keymanapp/fix/engine/coverity-mcompile
fix(windows): coverity reports for mcompile
2020-10-05 13:46:49 +11:00
Marc Durdin
69b781561d
Merge pull request #3640 from keymanapp/fix/developer/coverity-compiler.cpp
fix(developer): coverity reports for compiler
2020-10-05 13:46:42 +11:00
Marc Durdin
dc01449aa5
Merge pull request #3638 from keymanapp/fix/windows/3561-upgrading-disabled-keyboards
fix(windows): upgrading disabled keyboards
2020-10-05 13:46:27 +11:00
Marc Durdin
51d5feecc3
Merge pull request #3637 from keymanapp/fix/windows/3561-upgrading-transitional-profiles-2
fix(windows): Upgrading keyboards with transient profiles
2020-10-05 13:46:16 +11:00
Marc Durdin
41fb5296e4
Update windows/src/developer/kmcmpdll/Compiler.cpp
additional braces

Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2020-10-05 13:07:39 +11:00
Marc Durdin
7f70c14b2a fix(windows): Cast HANDLE types using PtrToInt 2020-10-05 09:30:55 +11:00
Marc Durdin
0406cb1381 fix(windows): coverity reports for keyman32 2020-10-02 14:54:43 +10:00
Marc Durdin
50ad8335ef
Apply suggestions from code review
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2020-10-02 09:18:49 +10:00
Marc Durdin
f691946f1c fix(windows): coverity reports for kmtip 2020-09-30 17:20:36 +10:00
Marc Durdin
146dd0acc5 fix: coverity reports for mcompile 2020-09-30 14:53:47 +10:00
Marc Durdin
1df49317c9 fix(windows): coverity reports for mcompile 2020-09-30 14:50:22 +10:00
Marc Durdin
508441ebf4 fix(developer): coverity reports for compiler
Addresses Coverity reports for compiler.cpp and other files.

Note that whitespace was reformatted on this PR. You may want to compare
with ignore-whitespace.
2020-09-30 14:20:41 +10:00
Marc Durdin
dd4ac89468 fix(developer): coverity issues for compiler.cpp
CID 309307 through 309313, 309318, 309321, 309371, 309388.
2020-09-30 11:58:28 +10:00
Marc Durdin
ca103155bf
Merge pull request #3635 from keymanapp/fix/windows/3561-upgrading-transitional-profiles
fix(windows): upgrading transitional profiles
2020-09-29 20:47:41 +10:00
Marc Durdin
4654b5485a
Merge pull request #3634 from keymanapp/fix/windows/3633-invalid-pointer-firstrun
fix(windows): Buffer overrun in firstrun
2020-09-29 20:47:33 +10:00
Marc Durdin
827ea6c386 fix(windows): upgrading disabled keyboards
Fixes #3561.

Resolves issues with upgrading disabled keyboards, and fixes a secondary
issue where Windows was giving us invalid LANGIDs for locales, which was
causing trouble with transient LANGIDs.
2020-09-29 20:25:10 +10:00
Marc Durdin
7ad11ca9d2 fix(windows): Upgrading keyboards with transient profiles
Relates to #3561.

If a keyboard has languages installed under one of the four transient
language profiles, then we need to jump through some additional hoops to
upgrade it to the 14.0 model.

This does not yet handle all scenarios around installed but non-loaded
keyboards.
2020-09-29 14:25:57 +10:00
Marc Durdin
301a76c88a fix(windows): upgrading transitional profiles
Relates to #3561.

If a keyboard is installed for a transitional profile but another
keyboard is already installed for that profile, then Keyman would
crash, expecting the transitional profile to be missing.
2020-09-29 09:08:47 +10:00
Marc Durdin
daa65dcd2e fix(windows): Buffer overrun in firstrun
Fixes #3633.

Memory allocation was half its required size due to missing
`sizeof(Char)` calculation.

Also added extra tags to Sentry events for command line and executable,
which made tracing this issue so much easier.
2020-09-29 09:04:07 +10:00
Marc Durdin
b92ca211df
Merge pull request #3627 from keymanapp/feat/windows/1843-scrollable-keyboard-menu
feat(windows): scrollable keyboard menu
2020-09-28 15:31:53 +10:00
Marc Durdin
b7160f99fa
Merge pull request #3626 from keymanapp/feat/windows/1659-overflow-menu-for-vk-toolbar
feat(windows): overflow menu for osk toolbar
2020-09-28 15:31:44 +10:00
Marc Durdin
5f59ee08ec chore(windows): make disabled arrows lighter 2020-09-28 15:05:58 +10:00
Marc Durdin
e34478c173 feat(windows): scrollable keyboard menu
Fixes #1843.

If there are so many keyboards installed that the menu would grow larger
than 3/4 of the screen height, then the menu will become scrollable.
2020-09-28 12:17:00 +10:00
Marc Durdin
d56567735e feat(windows): overflow menu for osk toolbar
Fixes #1659.

If there are too many keyboards to fit in the OSK toolbar, the toolbar
will now show a dropdown menu button and excess keyboards will be
visible there.
2020-09-27 13:07:45 +10:00
Marc Durdin
636b350399
Merge pull request #3619 from keymanapp/fix/windows/3394-tsysinfo-hardcoded-urls
fix(windows): cleanup hardcoded urls in tsysinfo
2020-09-25 13:32:18 +10:00
Marc Durdin
f5c2daa946
Merge pull request #3618 from keymanapp/fix/developer/3394-project-and-about-hardcoded-urls
fix(developer): Project window and About window hardcoded urls
2020-09-25 11:41:30 +10:00
Marc Durdin
265aefbea0
Merge pull request #3613 from keymanapp/fix/developer/3394-debugger-hardcoded-urls
fix(developer): hardcoded urls in debugger
2020-09-25 11:41:21 +10:00
Marc Durdin
bfcad1e097
Merge pull request #3612 from keymanapp/fix/windows/3084-cleanup-bad-pointer-typecasts
fix(windows): cleanup pointer to int typecasts
2020-09-25 11:41:13 +10:00
Marc Durdin
4fe1b16b1d fix(windows): cleanup hardcoded urls in tsysinfo
Relates to #3394.

Cleans up remaining hardcoded URLs in TSysInfo. Note that UfrmAbout.dfm
is removed because it is not used.
2020-09-25 11:11:14 +10:00
Marc Durdin
d57bbbf20c fix(developer): missing dependencies 2020-09-25 11:10:25 +10:00
Marc Durdin
69709ea18b
Merge pull request #3610 from keymanapp/fix/windows/bootstrap-skip-install-failed-downloads
fix(windows): bootstrap should skip install of failed downloads
2020-09-25 10:13:30 +10:00
Marc Durdin
8a945c9c51
Merge pull request #3609 from keymanapp/fix/windows/bootstrap-package-install-specified-language-bugs
fix(windows): bootstrap package install specified language bugs
2020-09-25 10:13:22 +10:00
Marc Durdin
c365f1ffca
Merge pull request #3607 from keymanapp/fix/windows/3560-support-disabling-keyboards
fix(windows): add back support for disabling keyboards
2020-09-25 10:13:14 +10:00
Marc Durdin
8460b8ff6c fix(developer): Project window and About window hardcoded urls
Relates to #3394.

Fixes all remaining hardcoded URLs in the Project / Welcome and the
About window in Keyman Developer.
2020-09-25 09:54:27 +10:00
Marc Durdin
25085ddfb3 fix(developer): hardcoded urls in debugger
Part of #3394.

Fixes two hard-coded URLs in the web debugger.
2020-09-24 14:54:16 +10:00
Marc Durdin
d5790ca9b6 fix(windows): cleanup pointer to int typecasts
Fixes #3084.

This does two things:

1. Cleans up a bunch of places where we used to use `(int)` typecasts
   for pointer math, which was problematic. We now use `(INT_PTR)` per
   MSDN https://docs.microsoft.com/en-us/windows/win32/winprog64/rules-for-using-pointers
   and then cast that down to `(int)` where necessary, e.g. when storing
   string lengths which are never going to be more than a few hundred
   characters! Doing this explicitly helps to clarify that we are aware
   of the typecast and believe it to be safe.

2. Adds in some build infrastructure for future use of Coverity Scan
   https://scan.coverity.com/ which we plan to use for further code
   quality updates. I have submitted the project to Coverity and are
   now waiting for approval so we can check results. Once we have
   approval, I do plan to add this to the nightly build (we need to
   keep submissions under 3 builds/day).

   Note: I have not yet added Keyman Core (Windows) to this project,
   nor are we currently building Keyman Core (macOS) or Keyman for
   Linux, but we should consider adding those in future.
2020-09-24 14:39:59 +10:00