bug 1215657 - make AccessibleWrap::get_accFocus work with proxied accessibles

r=davidb
This commit is contained in:
Trevor Saunders 2015-10-09 14:19:38 -04:00
Родитель 0fbbb9948a
Коммит c2be473e90
1 изменённых файлов: 8 добавлений и 5 удалений

Просмотреть файл

@ -658,12 +658,15 @@ AccessibleWrap::get_accFocus(
if (IsDefunct())
return CO_E_OBJNOTCONNECTED;
// TODO make this work with proxies.
if (IsProxy())
return E_NOTIMPL;
// Return the current IAccessible child that has focus
Accessible* focusedAccessible = FocusedChild();
Accessible* focusedAccessible;
if (IsProxy()) {
ProxyAccessible* proxy = Proxy()->FocusedChild();
focusedAccessible = proxy ? WrapperFor(proxy) : nullptr;
} else {
focusedAccessible = FocusedChild();
}
if (focusedAccessible == this) {
pvarChild->vt = VT_I4;
pvarChild->lVal = CHILDID_SELF;