PowerPoint: Deleting slide from Thumbnails pane breaks access until refocused #3415

Closed
nvaccessAuto opened this Issue Aug 7, 2013 · 2 comments

1 participant

@nvaccessAuto

Reported by jteh on 2013-08-07 10:21
Str:
1. Open a presentation with at least two slides.
2. Switch to the Thumbnails pane.
3. Press delete to delete a slide.
4. Press NVDA+tab, up arrow, down arrow, etc.
Expected: The new current slide should be reported.
Actual: Exception:

ERROR - scriptHandler.executeScript (20:17:36):
error executing script: <bound method Dynamic_DocumentWindowContentGenericClientIAccessibleWindowNVDAObject.script_selectionChange of <NVDAObjects.Dynamic_DocumentWindowContentGenericClientIAccessibleWindowNVDAObject object at 0x059C6AD0>> with gesture u'down arrow'
Traceback (most recent call last):
  File "scriptHandler.py", line 165, in executeScript
    script(gesture)
  File "appModules\powerpnt.py", line 438, in script_selectionChange
    self.handleSelectionChange()
  File "appModules\powerpnt.py", line 422, in handleSelectionChange
    if obj and obj!=eventHandler.lastQueuedFocusObject:
  File "NVDAObjects\__init__.py", line 302, in __ne__
    return not self.__eq__(other)
  File "NVDAObjects\__init__.py", line 297, in __eq__
    return self._isEqual(other)
  File "appModules\powerpnt.py", line 492, in _isEqual
    return super(SlideBase,self)._isEqual(other) and self.name==other.name
  File "baseObject.py", line 34, in __get__
    return instance._getPropertyViaCache(self.fget)
  File "baseObject.py", line 110, in _getPropertyViaCache
    val=getterMethod(self)
  File "appModules\powerpnt.py", line 504, in _get_name
    number=self.ppObject.slideNumber
  File "comtypesMonkeyPatches.py", line 32, in new__getattr__
    return old__getattr__(self,name)
  File "C:\Program Files (x86)\Python27\lib\site-packages\comtypes\client\lazybind.py", line 149, in __getattr__
    return self._comobj._invoke(descr.memid, descr.invkind, 0)
  File "C:\Program Files (x86)\Python27\lib\site-packages\comtypes\automation.py", line 664, in _invoke
    dp, var, None, argerr)
COMError: (-2147352567, 'Exception occurred.', (u'Slide.SlideNumber : Object does not exist.', u'Microsoft Office PowerPoint 2007', u'', 0, None))
@nvaccessAuto

Comment 1 by Michael Curran <mick@... on 2013-08-07 23:45
In [04b75bb]:
```CommitTicketReference repository="" revision="04b75bb783f9bf89c3348ae59fc30a0c2791f029"
Correctly detect next selected slide when deleting a slide in PowerPoint's thumbnails view. Fixes #3415.

Specifically:

  • bind documentwindow's selectionChange script to delete and backspace.
  • Slide NVDAObject's name property: catch COMError when fetching slideNumber (this was already done for title)
Changes:
State: closed
@nvaccessAuto

Comment 2 by jteh on 2013-08-08 01:24
Changes:
Milestone changed from None to 2013.2

@nvaccessAuto nvaccessAuto added the bug label Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2013.2 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment