Skip to content

Regression: Error performing some gestures in Excel cell edit control #15131

@cary-rowen

Description

@cary-rowen

Steps to reproduce:

  1. Open an Excel worksheet.
  2. Press F2 on any cell to edit the cell.
  3. Type some text, such as '123'.
  4. Press Ctrl+A, Ctrl+X to try to select all and cut to clipboard.

Actual behavior:

Executing step (4) NVDA reports "Cut", however the typed text is still there and not successfully cut to the clipboard.
I can achieve the desired behavior by pressing NVDA +F2, Ctrl+A, NVDA+F2, Ctrl+X sequentially.
p.s. Enabling UIA support for Excel in the NVDA Advanced Settings panel also does not reproduce the issue.

Below is the log snippet:

IO - speech.speech.speak (08:49:46.294) - MainThread (9480):

IO - inputCore.InputManager.executeGesture (08:49:49.833) - winInputHook (7856):
Input: kb(laptop):f2
DEBUG - IAccessibleHandler.internalWinEventHandler.winEventCallback (08:49:49.884) - MainThread (9480):
Dropping UIA proxied event for Excel7 window. WinEvent: EVENT_OBJECT_FOCUS, window 918928 (EXCEL7), objectID 224, childID 0, process 2968 (excel), thread 7852
DEBUG - NVDAObjects.NVDAObject._get_placeholder (08:49:50.032) - MainThread (9480):
Potential unimplemented child class: <NVDAObjects.Dynamic_CellEditEditableTextWithAutoSelectDetectionUIA object at 0x03E20A90>
IO - speech.speech.speak (08:49:50.041) - MainThread (9480):
Speaking ['edit', CancellableSpeech (still valid), 'blank']
IO - inputCore.InputManager.executeGesture (08:49:50.713) - winInputHook (7856):
Input: kb(laptop):1
IO - speech.speech.speak (08:49:50.735) - MainThread (9480):
Speaking ['1', EndUtteranceCommand()]
IO - inputCore.InputManager.executeGesture (08:49:50.958) - winInputHook (7856):
Input: kb(laptop):2
IO - speech.speech.speak (08:49:50.977) - MainThread (9480):
Speaking ['2', EndUtteranceCommand()]
IO - inputCore.InputManager.executeGesture (08:49:51.205) - winInputHook (7856):
Input: kb(laptop):3
IO - speech.speech.speak (08:49:51.230) - MainThread (9480):
Speaking ['3', EndUtteranceCommand()]
IO - inputCore.InputManager.executeGesture (08:49:51.904) - winInputHook (7856):
Input: kb(laptop):control+a
DEBUGWARNING - scriptHandler.executeScript (08:49:51.906) - MainThread (9480):
error executing script: <bound method ExcelWorksheet.script_changeSelection of <NVDAObjects.window.excel.ExcelWorksheet object at 0x0A34CB10>> with gesture 'ctrl+a'
Traceback (most recent call last):
  File "scriptHandler.pyc", line 295, in executeScript
  File "NVDAObjects\window\excel.pyc", line 955, in script_changeSelection
  File "NVDAObjects\window\excel.pyc", line 661, in _getSelection
  File "monkeyPatches\comtypesMonkeyPatches.pyc", line 87, in new__getattr__
  File "comtypes\client\lazybind.pyc", line 168, in __getattr__
  File "comtypes\automation.pyc", line 746, in _invoke
  File "monkeyPatches\comtypesMonkeyPatches.pyc", line 32, in __call__
_ctypes.COMError: (-2147418111, '被呼叫方拒绝接收呼叫。', (None, None, None, 0, None))
IO - inputCore.InputManager.executeGesture (08:49:53.290) - winInputHook (7856):
Input: kb(laptop):control+x
IO - speech.speech.speakTypedCharacters (08:49:53.311) - MainThread (9480):
typed word: 123
IO - speech.speech.speak (08:49:53.312) - MainThread (9480):
Speaking ['123']
IO - speech.speech.speak (08:49:53.346) - MainThread (9480):
Speaking ['剪切\u200b\u200b']
IO - inputCore.InputManager.executeGesture (08:49:54.580) - winInputHook (7856):
Input: kb(laptop):upArrow
DEBUG - editableText.EditableText._hasCaretMoved (08:49:54.593) - MainThread (9480):
Caret move detected using bookmarks. Elapsed 0 sec, retries 0
IO - speech.speech.speak (08:49:54.595) - MainThread (9480):
Speaking ['123']

Expected behavior:

The contents of the edit control can be selected and cut to the clipboard.

NVDA logs, crash dumps and other attachments:

log.txt

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

alpha-28649

Windows version:

Windows 10 22H2 (AMD64) build 19045.3155

Name and version of other software in use when reproducing the issue:

Microsoft 365MSO (version 2306 Build 16.0.16529.20100) 64 Bit

Other information about your system:

None

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

NVDA-2023.1 cannot reproduce this issue

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions