From ef9cde08eedc2df98217aca2be58a375867df311 Mon Sep 17 00:00:00 2001 From: "ginn.chen%sun.com" Date: Fri, 19 Jan 2007 03:02:59 +0000 Subject: [PATCH] Bug 366500 Crash hitting OK in dialog [@ nsQueryInterface::operator] called from [@ nsAccessible::Shutdown] patch by Evan.yan at sun.com r=aaronleventhal git-svn-id: svn://10.0.0.236/trunk@218656 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/accessible/src/base/nsRootAccessible.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mozilla/accessible/src/base/nsRootAccessible.cpp b/mozilla/accessible/src/base/nsRootAccessible.cpp index 346950f1b4f..075da9d202d 100644 --- a/mozilla/accessible/src/base/nsRootAccessible.cpp +++ b/mozilla/accessible/src/base/nsRootAccessible.cpp @@ -505,7 +505,16 @@ void nsRootAccessible::FireCurrentFocusEvent() NS_LITERAL_STRING("Events"), getter_AddRefs(event))) && NS_SUCCEEDED(event->InitEvent(NS_LITERAL_STRING("focus"), PR_TRUE, PR_TRUE))) { - HandleEventWithTarget(event, focusedNode); + // Get the target node we really want for the event. + nsIAccessibilityService* accService = GetAccService(); + if (accService) { + nsCOMPtr targetNode; + accService->GetRelevantContentNodeFor(focusedNode, + getter_AddRefs(targetNode)); + if (targetNode) { + HandleEventWithTarget(event, targetNode); + } + } } } }