Commit graph

29 commits

Author SHA1 Message Date
Ross
eb080e1b15 fix(windows): address review comments 2021-11-23 07:57:24 +10:00
rc-swag
46042987df
fix(windows): commit review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-11-23 07:20:22 +10:00
Ross
ec98070775 fix(windows): remove set default registry value 2021-11-22 21:37:41 +10:00
Ross
de966aa5c5 fix(windows): fix loadkeyboardoptions core memory error
LoadKeyboardOptionsCore no longer frees memory that
has not been allocated.
2021-11-22 15:33:47 +10:00
rc-swag
8eeaef9ae5
Merge branch 'feat/windows/keyman-core-integration-2' into feat/windows/preserving-keyboard-options-in-engine 2021-09-27 21:21:56 +10:00
Ross
1c405c5142 feat(windows): Address review comments 2021-09-22 16:33:30 +10:00
rc-swag
64dbaad371
feat(windows): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-22 16:11:36 +10:00
Ross
deb358de5a feat(windows): add memory leak tests - fix memory leaks 2021-09-22 11:28:28 +10:00
rc-swag
00d4bcded8
feat(windows): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-21 11:48:56 +10:00
Ross
d450543253 feat(windows): address review comments
Add test fixture to allow Setup and Teardown methods to be used
for all km process action tests.
Modified the DebugAssert macro to not do the early return on its own.
2021-09-21 09:59:17 +10:00
Ross
a90a99784a feat(windows): cast size_t to int for list size 2021-09-07 12:00:34 +10:00
Ross
8719a27ee9 feat(windows): add save and restore options
Add save and restore methods for saving and restoring
keyboard processor options.
2021-09-03 13:45:18 +10:00
Ross
5ffb136acf feat(windows): Added UpdateKeyboardOptions
This functions was to update the keyboard options in the
windows engine with the current options in the core

However it is not needed as first thought. This is because the options
will not be updated in first Non updatable call kmtip. This is due to
the fact the actions will not be processed. A variation on the current
core implementation. I am still pushing the branch as the unit test will
be usefull.
2021-09-02 11:57:44 +10:00
Ross
a4801373db feat(windows): err logs, DEBUG_ASSERT macro
Added some more error logs
Added a DEBUG_ASSERT macro
Update variable names
2021-08-24 17:17:26 +10:00
rc-swag
a681f46319
feat(windows): apply review suggestions
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-08-19 09:07:30 +10:00
Ross
3b3ea6e75b feat(windows): clean up formating 2021-08-17 17:16:56 +10:00
Ross
0f4e3d1768 feat(windows): core saving context null pointer check 2021-08-17 14:10:44 +10:00
Ross
ae9ba52ab9 fix(windows): meson build for static lib 2021-08-10 17:43:55 +10:00
Ross
09611b600d feat(windows): address review comments 2021-08-02 13:23:48 +10:00
Ross
7d5187ae64 feat(windows): add correct memory free calls for core 2021-08-02 13:17:22 +10:00
Ross
99b4bc73b8 feat(windows): appcontext to core kb_kmn_context 2021-08-02 13:13:02 +10:00
Ross
fb2a246f53 feat(windows): update update windows engine action que from core processor 2021-08-02 13:13:00 +10:00
Ross
01d10ce3bf feat(windows): loadKeyboardOptionsREGCore using the core api 2021-08-02 13:12:54 +10:00
Ross
ee43514149 refactor(windows): annotate code 2021-08-02 13:10:53 +10:00
Marc Durdin
0406cb1381 fix(windows): coverity reports for keyman32 2020-10-02 14:54:43 +10:00
Marc Durdin
ccc6498739 fix(windows): Keyman was crashing sporadically
Fixes #2147.

This potentially addresses the issues reported in #2147 where Keyman
would crash due to a race condition as a critical section was not
deleted before attempting to recreate it.

Some logging has been added for debugging these issues.

Also fixes memory leaks and another race on startup relating to loading
the taskbar icon.

There are still some known memory leaks because DLL_THREAD_DETACH is
not called for all threads before keyman32.dll is unloaded, so those
threads don't get the opportunity to clean themsselves up. However, the
key danger with the csGlobals critical section has been addressed.
2019-11-06 17:44:32 +11:00
Marc Durdin
738e1946a6 [Windows] Debug logging and proof of concept tests for keyboarding support within metro-style apps
[Windows] More tidyup and robustness for metro app support - debug cleanup and serialization of input (not quite finished)

[windows] Refactor serialized input code when used with key event thread model

[windows] Add consistent precompiled headers for other projects

[windows] Merge console window test into metro support

[Windows] Tidy up work and identify additional TODOs for metro-style app support

[Windows] Ensure error case falls through to default hook processing for console windows

[Windows] Refactor shared memory into memory mapped file so we can cross 32-64 bit boundary

[Windows] Tweaks to C++ security calls and parameters

[Windows] Start refactor of SerialKeyEvent* classes

[Windows] Rename to SerialKeyEventServer (refactoring)

[Windows] Complete refactoring of SerialKeyEventClient class

[Windows] Further encapsulation and cleanup with 'interfaces' to reduce header pollution

[Windows] Complete serialization fix with move of modifier state management from client thread to server thread to guarantee consistency

[Windows] Replace atom-based keyboard switching with memory mapped file indexed to avoid security constraints

[Windows] Fixup Left Alt+Shift interaction with serializer

[Windows] Use Windows 8.1 SDK for test
2018-10-18 20:00:49 +11:00
Marc Durdin
1b091c15c6 Fixes sillsdev/keyman-issues#5613. Keyboard Options dialog no longer crashes on save. 2018-05-30 08:22:12 +07:00
Marc Durdin
b65b982584 Keyman Desktop and Keyman Developer open source 10.0 alpha seed (#121)
* Keyman for Windows 10.0 Open Source

* Squashed 'windows/src/ext/jedi/jedi/' content from commit f444ad2

git-subtree-dir: windows/src/ext/jedi/jedi
git-subtree-split: f444ad2da4693851e523f1ea6bd541f701904c24

* Squashed 'windows/src/ext/jedi/jcl/' content from commit d63d3c9fd

git-subtree-dir: windows/src/ext/jedi/jcl
git-subtree-split: d63d3c9fd9ff84efdd8159084ec6a60313644243

* Squashed 'windows/src/ext/jedi/jvcl/' content from commit bee19f3b4

git-subtree-dir: windows/src/ext/jedi/jvcl
git-subtree-split: bee19f3b46909fde2fa92c06cd2706f41d99f6c3

* Add required .res files

* Add required .res files

* Add docbook files (forced)

* Add required libxslt

* Add required jedi files

* Add installation files

* Tweak .gitignore for open

* CI

* Remove KMW from Developer source (#122)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Remove KMW from Developer source (copies during build)

* Fixup release build and copy license, readme from kmw during build

* Remove obsolete build help documentation

* Keyman Engine 10 on Windows regression for shift states (#129)

* Improve #128 -- cleaner debug messages

* Fixes #127, shift state now resets correctly; and more work for #128

* Fixes #130 (#131)
2017-07-25 10:53:06 +07:00