fix: remove saving and restoring context kbd options#7077
Conversation
Remove the saving of context and keyboard options on the non updateable call to process hook. The windows Text Input Processor calls twice one call is not updateable. With the core integeration we run the processor only once, preserving the actions and context to be applied on the updatable call.
User Test ResultsTest specification and instructions
Test Artifacts |
User TestingInstall the keyman for windows build associated with this PR
Expected Result: "no foo.foo.no foo" TEST_COMMUNITY_KBD:
Expected Result: "aaaAAAaaaAAA"
TEST_IF_AND_CONTEXT
TEST_DEADKEY_AND_CONTEXT
TEST_DEADKEY_AND_CONTEXT_EX
|
|
Looks good, I love the simplification of the code! I would like to see some user tests about context checks given this also changes the way we handle context. |
|
Once we approve and merge this, we need a cherry-pick to stable-15.0 |
mcdurdin
left a comment
There was a problem hiding this comment.
Approving this, but please do add the extra user test for context changes!
Absolutely see this - issue #7078. I went back to versions where process_event at the core level was called both times [!Updateable/Updateable] and it still had this issue. |
I think we need some more user tests in this PR for context changes, if that's ok. |
|
|
Changes in this pull request will be available for download in Keyman version 16.0.49-alpha |
Fixes: #7074
This PR removes the saving of context and keyboard options
on the non-updateable call to process hook when using the core processor.
The windows Text Input Processor calls twice for each keystroke the first call is not updatable. With the core integration we run
the processor only once - the actions and the context are available to be applied on the updatable call.
Saving and restoring the options meant that the stores values were overwritten and seeing as the process event call was not called again the stores changed value was lost.