spiegel-keyman/core/tests/unit/kmnkbd
Marc Durdin 1b88ab99be fix(core): make km_core_state_get_actions() idempotent
Fixes #10582.

Returned struct from the `km_core_state_get_actions()` API is now owned
by the state object. This is a change in API contract. The corresponding
`km_core_actions_dispose()` API has been made private, because there is
never any need for API consumers to call it. As this change is happening
in alpha, we won't bump the ABI version.

`state->app_context` is now guaranteed to be in sync with
`state->context` after `km_core_process_event()`, with the actions
struct populated at that point.

The next and final step in this refactor is to remove the actions queue
altogether from the Core and make that a kmn-only concept, but that will
wait until 18.0. The only consumers of the actions queue are the
kmn-specific interactive debugger in Keyman Developer, and kmn-specific
Input Method eXtensions in Keyman Engine for Windows.
2024-02-01 11:28:08 +07:00
..
action_api.cpp fix(core): make km_core_state_get_actions() idempotent 2024-02-01 11:28:08 +07:00
action_items.hpp refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
action_set_api.cpp feat(core): add deleted_context to km_core_actions struct 2024-01-29 13:21:25 +07:00
context_api.cpp chore(core): Merge remote-tracking branch 'origin/epic/core/9999-normalization' into fix/core/10100-ContextNuances 2024-01-29 12:05:17 +01:00
debug_api.cpp refactor(core): remove unused context APIs 2024-01-18 12:18:07 +07:00
debug_items.hpp refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
keyboard_api.cpp refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
meson.build feat(core): add deleted_context to km_core_actions struct 2024-01-29 13:21:25 +07:00
options_api.cpp refactor(core): split context API from Core primary API 2024-01-16 12:04:41 +07:00
state_api.cpp feat(developer): make context_get and context_length public again 2024-01-26 06:37:09 +07:00
state_context_api.cpp chore(core): Fix build failures 2024-01-29 12:17:27 +01:00
test_actions_get_api.cpp fix(core): make km_core_state_get_actions() idempotent 2024-02-01 11:28:08 +07:00
test_actions_normalize.cpp fix(core): make km_core_state_get_actions() idempotent 2024-02-01 11:28:08 +07:00
test_kmx_context.cpp chore(linux): Rename namespace kbp to core 2023-10-19 10:39:55 +02:00
test_kmx_xstring.cpp chore(linux): Rename namespace kbp to core 2023-10-19 10:39:55 +02:00