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

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

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

Comments

Projects
None yet
1 participant
@nvaccessAuto

nvaccessAuto commented Aug 7, 2013

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

This comment has been minimized.

nvaccessAuto commented Aug 7, 2013

Comment 1 by Michael Curran <mick@... on 2013-08-07 23:45
In [04b75bb]:

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

This comment has been minimized.

nvaccessAuto commented Aug 8, 2013

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