Tim Eves
da815eb92e
Fix use-after0free in abstract_processor::lookup_option() design
...
Since option was not assigned to non temporary storage the string was deleted and caused the API to return freed memory.
2018-12-19 12:15:24 +07:00
Tim Eves
f8f1407fb8
Rfactor options out of class state into virtual methods on abstract_processor
2018-12-19 11:20:28 +07:00
Tim Eves
dfcedcdb6c
Merge branch 'master' into common-refactor-actions-options
2018-12-18 17:27:31 +07:00
Tim Eves
ed8799dbbb
Fix FTBFS bug on Windows
2018-12-18 17:03:36 +07:00
Tim Eves
f3474dbaa5
Tidy up KMX_Option a bit and add persist action queuing to Save()
2018-12-18 16:39:07 +07:00
Tim Eves
57b01ad640
Implement new state API using existing machinery.
2018-12-18 08:39:37 +07:00
Tim Eves
29a5fa6d2e
Add more convert function use, psuh_persist actions and various tidy-ups
2018-12-17 23:40:44 +07:00
Tim Eves
0bf44af891
Whitespace, warnings and header tidy ups
2018-12-17 23:28:59 +07:00
Tim Eves
fbecf51a1a
Refactor direct access to actions context lists with objects and smart push methods
2018-12-17 23:21:38 +07:00
Tim Eves
18ce72e7c8
Refactor keyboard processor initialisation code.
...
Turn the keyboard class backing the km_kbp_keyboard and km_kbp_keyboard_attr objects into just keyboard_attributes.
Move the abstract_processor and sublcasses as the objects that back km_kbp_keyboard and make keyboard_attrs a member of the asbtract_processor.
Move kmx_processor and mock_processor declarations into their own headers.
Make all vector<km_kbp_option_item> into vector<option> to handle memory management, moving and copying correctly.
Update test cases accordingly
2018-12-17 06:02:22 +07:00
Tim Eves
5e01266bb7
Revert "Fix ambiguity during type deduction in normalise on Windows."
...
This reverts commit f3bf0d1c6a .
Checked in to the wrong branch.
2018-12-14 09:36:02 +07:00
Tim Eves
f3bf0d1c6a
Fix ambiguity during type deduction in normalise on Windows.
2018-12-14 02:03:18 +07:00
Tim Eves
7c304f678c
Turn all kbp::path types into km::kbp::path to keep MSVC happy.
2018-12-14 01:22:04 +07:00
Tim Eves
08bab354bd
Add a path handling class since std::filesystem is not reliably available
...
It's not there on Xcode yet and different platforms and compiler put it
into different library files.
2018-12-14 00:50:04 +07:00
Tim Eves
559824a1b7
Replace utf16_to_utf8 with generic utfcodec based string conversion func
...
Templated convert for going between any combination of UTF codecs with
an identity function specialisation for when src & target forms match.
Includes implmentations of json and basic_ostream << operators for
u16string & u32string.
2018-12-14 00:46:54 +07:00
Marc Durdin
8d0f85b7dd
Merge pull request #1384 from keymanapp/common-msvc-update-to-1916
...
[Common] Update VS version checks to 19.16 for latest release of VS2017 (bug in VS workaround)
2018-12-05 15:16:40 +11:00
Marc Durdin
48f6c9d411
[Common] Tweak comment - to trigger agents
2018-12-05 14:22:50 +11:00
Marc Durdin
5a4d50ab8a
[Common] Update VS version checks to 19.16 for latest release of VS2017 (bug in VS workaround)
2018-12-05 14:09:44 +11:00
Marc Durdin
de6f7d681f
[Common] Add KM_KBP_IT_INVALIDATE_CONTEXT to request that context buffer is flushed
2018-12-04 09:50:33 +11:00
Marc Durdin
8a2b55e58c
[Common] Add support for KM_KBP_IT_EMIT_KEYSTROKE to allow the received key event to be passed on to the application
2018-12-04 09:46:04 +11:00
Marc Durdin
5d16d508ff
[common] Tweak casts and variable types (review comments)
2018-12-03 09:16:14 +11:00
Marc Durdin
8e24a55ad4
[common] Eliminate warnings on Linux build
2018-11-27 16:10:07 +11:00
Marc Durdin
50e5a0d3b4
[common] renaming and cleanup
2018-11-24 12:04:09 +11:00
Marc Durdin
aa418517f0
[common] Address review comment -- move kmx processor into km::kbp::kmx namespace
2018-11-24 11:51:35 +11:00
Marc Durdin
827b00c43c
[common] Addressing review comments
2018-11-24 11:33:05 +11:00
Marc Durdin
2a5295e4cd
[common] Fix broken modifier test in VKeyToChar, start addressing review comments
2018-11-24 11:19:22 +11:00
Marc Durdin
5af7ec4999
[common] Support for caps lock
2018-11-23 14:00:10 +11:00
Marc Durdin
b99cd600f6
[common] Full support for environment. Some refactoring of how environment options are set
2018-11-23 10:12:11 +11:00
Marc Durdin
37f424f090
[common] Working options model. Introduces some gunk around state and options which should be reviewed with TSE
2018-11-20 12:19:43 +11:00
Marc Durdin
09620cb311
[common] Basic options functionality (rework to match api model)
2018-11-20 10:00:29 +11:00
Marc Durdin
13235bd623
[common] Remove old logging code
2018-11-19 07:52:06 +11:00
Marc Durdin
511e03bb91
[common] resolve hints and warnings
2018-11-19 07:23:31 +11:00
Marc Durdin
d0f84fa082
[common] resolve hints and warnings
2018-11-19 07:20:07 +11:00
Marc Durdin
e1c83d9d33
[common] move inline function to header
2018-11-19 06:45:36 +11:00
Marc Durdin
8919595598
[common] include string.h for legacy string calls
2018-11-19 06:42:14 +11:00
Marc Durdin
bb9a8fb5ee
[common] Resolve some Linux build errors
2018-11-19 06:39:22 +11:00
Marc Durdin
06341d79f7
[common] Remove VK_ defines and cleanup warnings
2018-11-19 06:26:46 +11:00
Marc Durdin
27f09bbb50
[Common] Refactor and cleanup
2018-11-16 19:05:17 +11:00
Marc Durdin
4c1fc5edee
[Common] Cleanup kmx integration code
2018-11-16 18:47:01 +11:00
Marc Durdin
566796eaef
[Common] all but one test now passes. Refactoring to come, then cleanup
2018-11-16 13:39:35 +11:00
Marc Durdin
646c322b4c
[Common] First kmx test case (currently fails, as it should) and KMX integration started
2018-11-16 11:12:56 +11:00
Marc Durdin
ac4448f350
[Common] Refactor KPAPI to support multiple processors (kmx, mock, ldml?)
2018-11-14 11:58:44 +11:00
Marc Durdin
01694b178c
[Common] Move kmxtest files out of KPAPI root
2018-11-14 11:02:13 +11:00
Marc Durdin
db83f50549
[Common] Cleanup
2018-11-14 10:47:43 +11:00
Marc Durdin
e9b468a77a
[Common] Tab to space and some renames
2018-11-14 10:34:34 +11:00
Marc Durdin
89bf29d41f
[Common] Rename common types to KMX_...
2018-11-14 10:14:28 +11:00
Marc Durdin
5ac9e1c9c5
[common] portable test.sh
2018-11-14 09:51:36 +11:00
Marc Durdin
0e1dd29cfc
[Common] more portable int types
2018-11-14 09:49:34 +11:00
Marc Durdin
75e387e058
[Common] Fixup 64-bit file load
2018-11-14 09:36:48 +11:00
Marc Durdin
ff983923fd
[Common] (somewhat) portable 64-bit tests
2018-11-14 09:34:57 +11:00