зеркало из https://github.com/mozilla/gecko-dev.git
Bug 905058 - Before accessing the UIA root element make sure the global com ptr is populated. r=bbondy
This commit is contained in:
Родитель
ff8052e6e1
Коммит
39652c02aa
|
@ -686,16 +686,17 @@ MetroWidget::WindowProcedure(HWND aWnd, UINT aMsg, WPARAM aWParam, LPARAM aLPara
|
|||
// UiaReturnRawElementProvider passing the return result from FrameworkView
|
||||
// OnAutomationProviderRequested as the hwnd (me scratches head) which results in
|
||||
// GetLastError always being set to invalid handle (6) after CallWindowProc returns.
|
||||
if (dwObjId == UiaRootObjectId) {
|
||||
NS_ASSERTION(gProviderRoot.Get(), "gProviderRoot is null??");
|
||||
if (dwObjId == UiaRootObjectId && gProviderRoot) {
|
||||
ComPtr<IRawElementProviderSimple> simple;
|
||||
gProviderRoot.As(&simple);
|
||||
LRESULT res = UiaReturnRawElementProvider(aWnd, aWParam, aLParam, simple.Get());
|
||||
if (res) {
|
||||
return res;
|
||||
if (simple) {
|
||||
LRESULT res = UiaReturnRawElementProvider(aWnd, aWParam, aLParam, simple.Get());
|
||||
if (res) {
|
||||
return res;
|
||||
}
|
||||
NS_ASSERTION(res, "UiaReturnRawElementProvider failed!");
|
||||
Log("UiaReturnRawElementProvider failed! GetLastError=%X", GetLastError());
|
||||
}
|
||||
NS_ASSERTION(res, "UiaReturnRawElementProvider failed!");
|
||||
Log("UiaReturnRawElementProvider failed! GetLastError=%X", GetLastError());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче