diff options
author | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-15 12:28:50 +0000 |
---|---|---|
committer | dmazzoni@chromium.org <dmazzoni@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-15 12:28:50 +0000 |
commit | 70d8e45aca22559569203a8c1c5444f508dccada (patch) | |
tree | f715f5fe2ec891c9b08942385029c6e0019b1554 /content/browser/accessibility/browser_accessibility_manager_win.cc | |
parent | 60c417fae417460d4fbe7e65131ee69b66f971a4 (diff) | |
download | chromium_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.cc | 9 |
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, |