From a94a663200b6c14d6b5404f6cef4be94b4d8d13b Mon Sep 17 00:00:00 2001 From: David Bolter Date: Tue, 10 Jan 2012 13:52:14 -0500 Subject: [PATCH] Bug 716589 - crash nsDocAccessible::GetNativeWindow. r=tbsaunde --- accessible/src/base/nsDocAccessible.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/accessible/src/base/nsDocAccessible.cpp b/accessible/src/base/nsDocAccessible.cpp index f4d8bcf56929..7516bac7e0a8 100644 --- a/accessible/src/base/nsDocAccessible.cpp +++ b/accessible/src/base/nsDocAccessible.cpp @@ -1278,13 +1278,18 @@ void* nsDocAccessible::GetNativeWindow() const { nsCOMPtr shell(do_QueryReferent(mWeakShell)); + if (!shell) + return nsnull; + nsIViewManager* vm = shell->GetViewManager(); - if (vm) { - nsCOMPtr widget; - vm->GetRootWidget(getter_AddRefs(widget)); - if (widget) - return widget->GetNativeData(NS_NATIVE_WINDOW); - } + if (!vm) + return nsnull; + + nsCOMPtr widget; + vm->GetRootWidget(getter_AddRefs(widget)); + if (widget) + return widget->GetNativeData(NS_NATIVE_WINDOW); + return nsnull; }