summaryrefslogtreecommitdiffstats
path: root/content/browser/accessibility/browser_accessibility_manager_win.cc
diff options
context:
space:
mode:
authordmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-15 12:28:50 +0000
committerdmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-15 12:28:50 +0000
commit70d8e45aca22559569203a8c1c5444f508dccada (patch)
treef715f5fe2ec891c9b08942385029c6e0019b1554 /content/browser/accessibility/browser_accessibility_manager_win.cc
parent60c417fae417460d4fbe7e65131ee69b66f971a4 (diff)
downloadchromium_src-70d8e45aca22559569203a8c1c5444f508dccada.zip
chromium_src-70d8e45aca22559569203a8c1c5444f508dccada.tar.gz
chromium_src-70d8e45aca22559569203a8c1c5444f508dccada.tar.bz2
Fix crash if legacy hwnd is NULL on win 8.
Change r276950 (https://codereview.chromium.org/329053004/) fixed a bug but introduced a new crash on win 8 by not checking the legacy hwnd for NULL. BUG=384732,372478,379019 TBR=ananta Review URL: https://codereview.chromium.org/337543005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277319 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/accessibility/browser_accessibility_manager_win.cc')
-rw-r--r--content/browser/accessibility/browser_accessibility_manager_win.cc9
1 files changed, 6 insertions, 3 deletions
diff --git a/content/browser/accessibility/browser_accessibility_manager_win.cc b/content/browser/accessibility/browser_accessibility_manager_win.cc
index 974b033..0efdb3c5 100644
--- a/content/browser/accessibility/browser_accessibility_manager_win.cc
+++ b/content/browser/accessibility/browser_accessibility_manager_win.cc
@@ -37,13 +37,14 @@ BrowserAccessibilityManagerWin::BrowserAccessibilityManagerWin(
BrowserAccessibilityDelegate* delegate,
BrowserAccessibilityFactory* factory)
: BrowserAccessibilityManager(initial_tree, delegate, factory),
+ parent_hwnd_(NULL),
parent_iaccessible_(parent_iaccessible),
tracked_scroll_object_(NULL),
accessible_hwnd_(accessible_hwnd) {
ui::win::CreateATLModuleIfNeeded();
if (accessible_hwnd_) {
accessible_hwnd_->set_browser_accessibility_manager(this);
- parent_hwnd_ = accessible_hwnd->GetParent();
+ parent_hwnd_ = accessible_hwnd_->GetParent();
}
}
@@ -74,8 +75,10 @@ ui::AXTreeUpdate BrowserAccessibilityManagerWin::GetEmptyDocument() {
void BrowserAccessibilityManagerWin::SetAccessibleHWND(
LegacyRenderWidgetHostHWND* accessible_hwnd) {
accessible_hwnd_ = accessible_hwnd;
- accessible_hwnd_->set_browser_accessibility_manager(this);
- parent_hwnd_ = accessible_hwnd->GetParent();
+ if (accessible_hwnd_) {
+ accessible_hwnd_->set_browser_accessibility_manager(this);
+ parent_hwnd_ = accessible_hwnd_->GetParent();
+ }
}
void BrowserAccessibilityManagerWin::MaybeCallNotifyWinEvent(DWORD event,