=== modified file 'source/NVDAObjects/IAccessible/__init__.py' --- source/NVDAObjects/IAccessible/__init__.py 2009-10-27 04:14:58 +0000 +++ source/NVDAObjects/IAccessible/__init__.py 2009-11-03 07:39:49 +0000 @@ -1232,10 +1232,21 @@ def _get_description(self): return None +class SysLinkClient(IAccessible): + + def reportFocus(self): + pass + class SysLink(IAccessible): - def reportFocus(self): - pass + def _get_name(self): + #Workaround for #451 - explorer returns incorrect string length, thus it can contain garbage characters + name=super(SysLink,self)._get_name() + if name: + #Remove any data after the null character + i=name.find('\0') + if i>=0: name=name[:i] + return name class TaskList(IAccessible): isPresentableFocusAncestor = False @@ -1349,7 +1360,8 @@ ("SysTreeView32",oleacc.ROLE_SYSTEM_MENUITEM):"sysTreeView32.TreeViewItem", ("ATL:SysListView32",oleacc.ROLE_SYSTEM_LISTITEM):"sysListView32.ListItem", ("TWizardForm",oleacc.ROLE_SYSTEM_CLIENT):"Dialog", - ("SysLink",oleacc.ROLE_SYSTEM_CLIENT):"SysLink", + ("SysLink",oleacc.ROLE_SYSTEM_CLIENT):"SysLinkClient", + ("SysLink",oleacc.ROLE_SYSTEM_LINK):"SysLink", ("#32771",oleacc.ROLE_SYSTEM_LIST):"TaskList", ("TaskSwitcherWnd",oleacc.ROLE_SYSTEM_LIST):"TaskList", ("#32771",oleacc.ROLE_SYSTEM_LISTITEM):"TaskListIcon",