From d004facbc8788e43fbb2a978dee5eb8c7c396cdb Mon Sep 17 00:00:00 2001 From: "aaronleventhal%moonset.net" Date: Tue, 26 Feb 2008 22:36:29 +0000 Subject: [PATCH] Bug 419409. MSAA/IAccessible2 broken in gmail. This fixes the crash part of the problem. r=marcoz, a=beltzner git-svn-id: svn://10.0.0.236/trunk@246568 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/accessible/src/base/nsAccessNode.cpp | 4 +++- mozilla/accessible/src/msaa/nsAccessibleWrap.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/mozilla/accessible/src/base/nsAccessNode.cpp b/mozilla/accessible/src/base/nsAccessNode.cpp index 6897b077648..b748518b4a8 100755 --- a/mozilla/accessible/src/base/nsAccessNode.cpp +++ b/mozilla/accessible/src/base/nsAccessNode.cpp @@ -225,8 +225,10 @@ NS_IMETHODIMP nsAccessNode::GetUniqueID(void **aUniqueID) NS_IMETHODIMP nsAccessNode::GetOwnerWindow(void **aWindow) { + *aWindow = nsnull; nsCOMPtr docAccessible(GetDocAccessible()); - NS_ASSERTION(docAccessible, "No root accessible pointer back, Init() not called."); + if (!docAccessible) + return NS_ERROR_FAILURE; // This node or doc accessible is shut down return docAccessible->GetWindowHandle(aWindow); } diff --git a/mozilla/accessible/src/msaa/nsAccessibleWrap.cpp b/mozilla/accessible/src/msaa/nsAccessibleWrap.cpp index 9835e335e09..ee3adfbb40d 100644 --- a/mozilla/accessible/src/msaa/nsAccessibleWrap.cpp +++ b/mozilla/accessible/src/msaa/nsAccessibleWrap.cpp @@ -1394,6 +1394,9 @@ STDMETHODIMP nsAccessibleWrap::get_windowHandle(HWND *windowHandle) { __try { + *windowHandle = 0; + if (!mDOMNode) + return E_FAIL; void *handle = nsnull; nsresult rv = GetOwnerWindow(&handle); if (NS_FAILED(rv))