Chromium Code Reviews| Index: ui/views/accessibility/native_view_accessibility_win.cc |
| diff --git a/ui/views/accessibility/native_view_accessibility_win.cc b/ui/views/accessibility/native_view_accessibility_win.cc |
| index 7aa92a2a13cfb33da5d81cbfb8c4aff6c0026237..6f7859fab4bf343d916cb5a7c482db5ff41b675f 100644 |
| --- a/ui/views/accessibility/native_view_accessibility_win.cc |
| +++ b/ui/views/accessibility/native_view_accessibility_win.cc |
| @@ -253,7 +253,7 @@ STDMETHODIMP NativeViewAccessibilityWin::accHitTest( |
| if (!child) |
| return E_INVALIDARG; |
| - if (!view_) |
| + if (!view_ || !view_->GetWidget()) |
| return E_FAIL; |
| // If this is a root view, our widget might have child widgets. |
| @@ -461,7 +461,7 @@ STDMETHODIMP NativeViewAccessibilityWin::get_accChild(VARIANT var_child, |
| if (var_child.vt != VT_I4 || !disp_child) |
| return E_INVALIDARG; |
| - if (!view_) |
| + if (!view_ || !view_->GetWidget()) |
| return E_FAIL; |
| LONG child_id = V_I4(&var_child); |
| @@ -533,7 +533,7 @@ STDMETHODIMP NativeViewAccessibilityWin::get_accChildCount(LONG* child_count) { |
| if (!child_count || !view_) |
| return E_INVALIDARG; |
| - if (!view_) |
| + if (!view_ || !view_->GetWidget()) |
|
sky
2013/11/04 21:26:09
nit: you've got !view_ on 533 too.
dmazzoni
2013/11/04 21:31:19
Done.
|
| return E_FAIL; |
| *child_count = view_->child_count(); |
| @@ -1392,6 +1392,9 @@ LONG NativeViewAccessibilityWin::FindBoundary( |
| void NativeViewAccessibilityWin::PopulateChildWidgetVector( |
| std::vector<Widget*>* result_child_widgets) { |
| const Widget* widget = view()->GetWidget(); |
| + if (!widget) |
| + return; |
| + |
| std::set<Widget*> child_widgets; |
| Widget::GetAllChildWidgets(widget->GetNativeView(), &child_widgets); |
| Widget::GetAllOwnedWidgets(widget->GetNativeView(), &child_widgets); |