Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion source/NVDAObjects/window/excel.py
Original file line number Diff line number Diff line change
Expand Up @@ -460,7 +460,9 @@ class ExcelBrowseModeTreeInterceptor(browseMode.BrowseModeTreeInterceptor):

def __init__(self,rootNVDAObject):
super(ExcelBrowseModeTreeInterceptor,self).__init__(rootNVDAObject)
self.passThrough=True
# Note, as _set_passThrough has logic to handle braille and vision updates which are unnecessary when
# initializing this tree interceptor, we set the private _passThrough variable here, which is enough.
self._passThrough = True
browseMode.reportPassThrough.last=True

def _get_currentNVDAObject(self):
Expand Down
8 changes: 3 additions & 5 deletions source/appModules/excel.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,9 @@ def _get_focusRedirect(self):
e=UIAHandler.handler.lastFocusedUIAElement
if e and e.cachedAutomationID=="CellEdit":
obj=UIA(UIAElement=e)
oldFocus=api.getFocusObject()
if isinstance(oldFocus,ExcelCell):
# Set the edit control's parent as the cell that previously had focus. I.e. the cell being edited.
# otherwise a whole bunch of UIA focus ancestors for the edit control will be reported.
obj.parent=oldFocus
# Set the UIA edit control's parent to the parent of self.
# otherwise a whole bunch of UIA focus ancestors for the edit control will be reported.
obj.parent = self.parent
# Cache this for as long as this object exists.
self.focusRedirect=obj
return obj
Expand Down
6 changes: 5 additions & 1 deletion source/virtualBuffers/MSHTML.py
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,11 @@ def __init__(self,rootNVDAObject):
# Force focus mode for applications, and dialogs with no parent treeInterceptor (E.g. a dialog embedded in an application)
if rootNVDAObject.role==controlTypes.Role.APPLICATION or (rootNVDAObject.role==controlTypes.Role.DIALOG and (not rootNVDAObject.parent or not rootNVDAObject.parent.treeInterceptor or rootNVDAObject.parent.treeInterceptor.passThrough)):
self.disableAutoPassThrough=True
self.passThrough=True
# Note, as _set_passThrough has logic to handle braille and vision updates which are unnecessary when
# initializing this tree interceptor, we set the private _passThrough variable here, which is enough.
self._passThrough = True
import browseMode
browseMode.reportPassThrough.last = True

def _getInitialCaretPos(self):
initialPos = super(MSHTML,self)._getInitialCaretPos()
Expand Down