From: Aleksey Sadovoy Date: Wed, 2 Feb 2011 19:20:56 +0000 (+0200) Subject: NVDAObjects.IAccessible.MSHTML.MSHTML object's findOverlayClasses: handle case, when... X-Git-Tag: jpdev130418~1972 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e17d94cc6662c6f4d85867eabc6fc9ac27cf7248;p=nvdajp%2Fnvdajp.git NVDAObjects.IAccessible.MSHTML.MSHTML object's findOverlayClasses: handle case, when getting a nodeName raises an exception and skip it silently. Fixes #974. Fixes #974. --- 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.