Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPeech refactor regression in legacy command consoles, typed word buffer not cleared when pressing enter #9769

Closed
LeonarddeR opened this issue Jun 17, 2019 · 3 comments
Milestone

Comments

@LeonarddeR
Copy link
Collaborator

LeonarddeR commented Jun 17, 2019

Steps to reproduce:

On threshold

  1. Enable speak typed words, disable speak typed characters
  2. Open a window command console in legacy mode
  3. Type h
  4. press enter
  5. type ello and press space

Actual behavior:

NVDA says "hello"

Expected behavior:

NVDA says "ello"

System configuration

NVDA installed/portable/running from source:

Source

NVDA version:

try-py3_ignoreSomeIssues branch

@LeonarddeR LeonarddeR changed the title SPeech refactor SPeech refactor regression in legacy command consoles, typed word buffer not cleared when pressing enter Jun 17, 2019
@LeonarddeR
Copy link
Collaborator Author

@feerrenrut: I think there are some UIA console changes in master that are not yet in threshold_py3_staging that might influence how this issue has to be fixed.
Could we bring threshold and threshold_py3_staging in line with master again?

@feerrenrut
Copy link
Contributor

Could we bring threshold and threshold_py3_staging in line with master again?

Yes, I'm planning on merging master -> threshold -> threshold_py3_staging -> threshold -> master

I probably won't merge staging back to threshold until the comtypes issue is resolved. The threshold -> staging merge might take some time.

feerrenrut pushed a commit that referenced this issue Jul 11, 2019
Speech refactor introduced a new way to clear the current words buffer for speech. However, in some cases, this buffer wasn't cleared, particularly in the following cases:

- In legacy windows consoles, when typing a word and pressing enter, pressing space still reported the previous word that was already sent to the console.
- When moving by sentence in Word, the buffer wasn't cleared.

To fix this:
- in EditableText, the logic to clear the buffer was moved from _caretMovementScriptHelper to _caretScriptPostMovedHelper. This ensures that the buffer is also cleared when navigating by sentence, while not clearing it when the cart hasn't moved, such as when trying sentence nav in an application that doesn't implement it.
- I copied the flush_queuedChars from winConsoleUIA to winConsole.

Fixes #9769
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Jul 11, 2019
@feerrenrut
Copy link
Contributor

Fixed with commit bbbb969 via PR #9877

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants