nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
Other
2.01k stars 623 forks source link

Focussing LibreOffice when a footer text has focus gives a stacktrace #4695

Open nvaccessAuto opened 9 years ago

nvaccessAuto commented 9 years ago

Reported by bramd on 2014-12-15 00:32 Tested in LibreOffice 4.3.4.1. Steps to reproduce:

  1. Create a new LibreOffice document and add some text in the footer (menu Format, Add footer, Default style).
  2. Go to another application.
  3. When the focus returns to LibreOffice, the following stacktrace occurs:
Traceback (most recent call last):
  File "eventHandler.pyc", line 138, in executeEvent
  File "eventHandler.pyc", line 171, in doPreGainFocus
  File "compoundDocuments.pyc", line 405, in event_treeInterceptor_gainFocus
  File "braille.pyc", line 1414, in handleGainFocus
  File "braille.pyc", line 1418, in _doNewObject
  File "braille.pyc", line 1211, in getFocusRegions
  File "braille.pyc", line 815, in update
  File "compoundDocuments.pyc", line 388, in makeTextInfo
  File "compoundDocuments.pyc", line 206, in __init__
AttributeError: 'NoneType' object has no attribute 'makeTextInfo'
Adriani90 commented 5 years ago

@bramd are you still able to reproduce this issue? cc: @Qchristensen

bramd commented 5 years ago

@Adriani90 Not exactly, but there are still issues editing footers.

After inserting a footer and editing it, I get the following:

ERROR - eventHandler.executeEvent (23:17:42.940):
error executing event: caret on <NVDAObjects.Dynamic_SymphonyParagraphSymphonyTextEditableTextWithAutoSelectDetectionIAccessible object at 0x0640EA30> with extra args of {}
Traceback (most recent call last):
  File "eventHandler.pyc", line 155, in executeEvent
  File "eventHandler.pyc", line 92, in __init__
  File "eventHandler.pyc", line 100, in next
  File "compoundDocuments.pyc", line 456, in event_caret
  File "documentBase.pyc", line 24, in makeTextInfo
  File "compoundDocuments.pyc", line 210, in __init__
  File "documentBase.pyc", line 24, in makeTextInfo
  File "textInfos\offsets.pyc", line 405, in __init__
  File "NVDAObjects\IAccessible\__init__.pyc", line 180, in _getCaretOffset
RuntimeError: Retrieving caret offset failed

Caret movement isn't detected and braille doesn't update.

Qchristensen commented 5 years ago

I don't get any error when alt+tabbing, however I did get an error in the log when typing into the footer to begin with:

IO - inputCore.InputManager.executeGesture (14:42:32.163): Input: kb(desktop):t DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:42:32.173): IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None)) ERROR - eventHandler.executeEvent (14:42:32.174): error executing event: caret on <baseObject.Dynamic_SymphonyParagraphSymphonyTextEditableTextWithAutoSelectDetectionIAccessible object at 0x0587E7D0> with extra args of {} Traceback (most recent call last): File "eventHandler.pyo", line 155, in executeEvent File "eventHandler.pyo", line 92, in init File "eventHandler.pyo", line 100, in next File "compoundDocuments.pyo", line 444, in event_caret File "documentBase.pyo", line 24, in makeTextInfo File "compoundDocuments.pyo", line 209, in init File "documentBase.pyo", line 24, in makeTextInfo File "textInfos\offsets.pyo", line 298, in init File "NVDAObjects\IAccessible__init__.pyo", line 167, in _getCaretOffset RuntimeError: no active caret in this object

I haven't currently got a Braille display connected, but NVDA reads everything as it should in the footer (letters as I arrow, words or the whole thing with say all / read current line etc).

In OpenOffice, I don't get an error like that, but when typing I get the following warning (this was when pressing space after a word, I had NVDA set to echo typed words but not characters) which may be related to why this only happened at the end of words):

Input: kb(desktop):space DEBUGWARNING - NVDAObjects.IAccessible.IAccessible._get_IA2Attributes (14:48:38.042): IAccessibleObject.attributes COMError (-2147467259, 'Unspecified error', (None, None, None, 0, None)) IO - speech.speakTypedCharacters (14:48:38.045): typed word: The IO - speech.speak (14:48:38.045): Speaking [LangChangeCommand ('en_GB'), u'The']