From e17d94cc6662c6f4d85867eabc6fc9ac27cf7248 Mon Sep 17 00:00:00 2001 From: Aleksey Sadovoy Date: Wed, 2 Feb 2011 21:20:56 +0200 Subject: [PATCH] NVDAObjects.IAccessible.MSHTML.MSHTML object's findOverlayClasses: handle case, when getting a nodeName raises an exception and skip it silently. Fixes #974. Fixes #974. --- source/NVDAObjects/IAccessible/MSHTML.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source/NVDAObjects/IAccessible/MSHTML.py b/source/NVDAObjects/IAccessible/MSHTML.py index 9eb36157e..4980c7b26 100644 --- a/source/NVDAObjects/IAccessible/MSHTML.py +++ b/source/NVDAObjects/IAccessible/MSHTML.py @@ -324,12 +324,17 @@ class MSHTML(IAccessible): def findOverlayClasses(self,clsList): if self.TextInfo == MSHTMLTextInfo: clsList.append(EditableTextWithoutAutoSelectDetection) - nodeName = self.HTMLNode.nodeName - if nodeNamesToNVDARoles.get(nodeName) == controlTypes.ROLE_DOCUMENT: - clsList.append(Body) - elif nodeName == "OBJECT": - clsList.append(Object) - + #fix for #974 + #this fails on some control in vs2008 new project wizard + try: + nodeName = self.HTMLNode.nodeName + except COMError: + pass + else: + if nodeNamesToNVDARoles.get(nodeName) == controlTypes.ROLE_DOCUMENT: + clsList.append(Body) + elif nodeName == "OBJECT": + clsList.append(Object) clsList.append(MSHTML) if not self.HTMLNodeHasAncestorIAccessible: # The IAccessibleObject is for this node (not an ancestor), so IAccessible overlay classes are relevant. -- 2.11.0